diff --git a/dist/assets/favicon-DctOP55U.svg b/dist/assets/favicon-DctOP55U.svg new file mode 100644 index 0000000..93cd81e --- /dev/null +++ b/dist/assets/favicon-DctOP55U.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/dist/assets/favicon-eB4uGud4.svg b/dist/assets/favicon-eB4uGud4.svg deleted file mode 100644 index 47dd4ff..0000000 --- a/dist/assets/favicon-eB4uGud4.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dist/assets/index-CtIcyvm4.css b/dist/assets/index-CtIcyvm4.css new file mode 100644 index 0000000..119496c --- /dev/null +++ b/dist/assets/index-CtIcyvm4.css @@ -0,0 +1 @@ +:root{--bg: #090B11;--bg2: #101520;--surface: #151B28;--surface2: #1B2233;--ink: #F4F7FB;--ink2: #AFB8C8;--ink3: #7E899C;--border: #273145;--border2: #364060;--accent: #A3FF3F;--accent-h: #B4FF63;--accent-dim: rgba(163,255,63,.12);--cyan: #24D6FF;--cyan-dim: rgba(36,214,255,.12);--violet: #8B6CFF;--violet-dim:rgba(139,108,255,.12);--green: #43E69A;--red: #FF637E;--yellow: #FFBF5A;--orange: #F97316;--purple: #8B6CFF;--green-l: var(--green);--pink: #E879F9;--cyan-glow: rgba(36,214,255,.12);--green-glow:rgba(67,230,154,.12);--glow-cyan: 0 0 20px rgba(36,214,255,.2);--glow-green:0 0 20px rgba(163,255,63,.2);--glow-accent:0 0 20px rgba(163,255,63,.25);--font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans: var(--font);--font-display: "Chakra Petch", "Oxanium", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--ease: .18s cubic-bezier(.4, 0, .2, 1);--shadow: 0 1px 4px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.03);--shadow-lg: 0 8px 32px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.04);--shadow-xl: 0 20px 60px rgba(0,0,0,.8);--paper: var(--bg);--panel: var(--surface)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;max-width:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6;min-height:100vh;overflow-x:hidden;max-width:100%;font-size:15px;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse 70% 45% at 50% -5%,rgba(36,214,255,.09) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 85% 10%,rgba(139,108,255,.08) 0%,transparent 55%),radial-gradient(ellipse 40% 30% at 15% 70%,rgba(163,255,63,.05) 0%,transparent 50%)}body:before{display:none}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.page-wrap{max-width:1200px;margin:0 auto;padding:0 24px;width:100%}.top-nav{position:sticky;top:0;z-index:100;background:#090b11d1;border-bottom:1px solid var(--border);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);max-width:100%}.top-nav.scrolled{background:#090b11f7;border-bottom-color:var(--border2)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:58px;gap:12px;min-width:0}.logo{display:flex;align-items:center;gap:9px;flex-shrink:0;min-width:0}.logo-mark{width:32px;height:32px;background:transparent;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:filter var(--ease),transform var(--ease)}.logo:hover .logo-mark{filter:drop-shadow(0 0 6px rgba(163,255,63,.5));transform:scale(1.05)}.logo-name{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.logo-name .bracket,.logo-sub{display:none}.nav-links{display:none;align-items:center;gap:2px;flex:1;justify-content:center}@media(min-width:860px){.nav-links{display:flex}}.nav-link{font-size:13px;font-weight:500;color:var(--ink3);padding:5px 12px;border-radius:var(--radius-sm);transition:color var(--ease),background var(--ease)}.nav-link:hover{color:var(--cyan);background:var(--cyan-dim)}.nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;position:relative}.nav-prompt{display:none!important}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border2);font-size:13px;font-weight:500;font-family:var(--font);border-radius:var(--radius);transition:background var(--ease),border-color var(--ease),color var(--ease),box-shadow var(--ease),transform var(--ease);white-space:nowrap;letter-spacing:-.01em;position:relative;overflow:hidden}.btn:before{display:none}.btn:hover:not(:disabled){border-color:var(--border2);transform:translateY(-1px)}.btn:active:not(:disabled){opacity:.9;transform:translateY(0)}.btn-primary{background:var(--accent);color:#05080d;border-color:transparent;font-weight:600;box-shadow:0 2px 16px #a3ff3f40}.btn-primary:hover:not(:disabled){background:var(--accent-h)!important;border-color:transparent!important;box-shadow:0 4px 24px #a3ff3f61!important}.btn-ghost{background:#ffffff08;color:var(--ink2);border-color:var(--border2)}.btn-ghost:hover:not(:disabled){color:var(--cyan);border-color:var(--cyan);background:var(--cyan-dim)}.btn-sm{padding:5px 10px;font-size:12px;border-radius:var(--radius-sm)}.btn-lg{padding:11px 22px;font-size:14px;border-radius:var(--radius)}.btn:disabled{opacity:.35;cursor:not-allowed}.spin{animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.btn-paypal{background:var(--accent);color:#05080d;border-color:transparent;font-weight:600;justify-content:center;width:100%;padding:10px;font-size:13px;border-radius:var(--radius);box-shadow:0 2px 12px #a3ff3f33}.btn-paypal:hover{background:var(--accent-h)!important;border-color:transparent!important;box-shadow:0 4px 16px #a3ff3f59!important}.auto-countdown{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--cyan);padding:2px 8px;border:1px solid rgba(36,214,255,.25);border-radius:var(--radius-sm);background:#24d6ff0a}.settings-popover{position:absolute;z-index:500;background:var(--bg2);border:1px solid var(--border2);width:268px;box-shadow:var(--shadow-lg);display:none;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg)}.settings-popover.open{display:flex;animation:pop-in .15s ease}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-header{padding:10px 14px 8px;border-bottom:1px solid var(--border);background:var(--surface2)}.settings-title{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.settings-section{padding:12px 14px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border)}.settings-section:last-of-type{border-bottom:none}.settings-label{font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;font-family:var(--mono)}.settings-options{display:flex;gap:5px;flex-wrap:wrap}.settings-opt{padding:5px 10px;font-size:12px;font-weight:500;border:1px solid var(--border2);background:var(--surface);color:var(--ink2);cursor:pointer;border-radius:var(--radius-sm);transition:border-color var(--ease),color var(--ease);min-height:30px}.settings-opt:hover{border-color:#3a3a3a;color:var(--ink)}.settings-opt--danger{color:var(--red);border-color:#e5484d4d}.settings-opt--danger:hover{border-color:var(--red);background:#e5484d0f}.settings-opt.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.settings-footer{padding:8px 14px;background:var(--surface2);border-top:1px solid var(--border)}.settings-note{font-family:var(--mono);font-size:10px;color:var(--ink3)}.cache-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.cache-confirm-dialog{background:var(--bg2);border:1px solid var(--border2);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);padding:28px;max-width:340px;width:90%;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;animation:pop-in .15s ease}.cache-confirm-icon{color:var(--red);background:#e5484d14;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.cache-confirm-title{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.cache-confirm-desc{font-size:13px;color:var(--ink3);line-height:1.6}.cache-confirm-note{font-family:var(--mono);font-size:11px;color:var(--red);opacity:.8}.cache-confirm-actions{display:flex;gap:10px;margin-top:4px;width:100%;justify-content:center}.cache-confirm-delete{background:#e5484d14;border:1px solid rgba(229,72,77,.4);color:var(--red);font-weight:600;padding:7px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-family:var(--font);display:flex;align-items:center;transition:background var(--ease)}.cache-confirm-delete:hover{background:#e5484d29}.pp-modal-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#000000d9;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pp-modal-backdrop.open{display:flex}.pp-modal{background:var(--bg2);border:1px solid var(--border2);box-shadow:var(--shadow-lg);padding:32px 28px;width:300px;max-width:92vw;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;animation:modal-in .2s ease;border-radius:var(--radius-lg)}@keyframes modal-in{0%{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.pp-close{position:absolute;top:10px;right:10px;width:28px;height:28px;background:var(--surface2);border:1px solid var(--border2);color:var(--ink2);font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--ease),border-color var(--ease)}.pp-close:hover{color:var(--ink);border-color:#3a3a3a}.pp-icon{font-size:24px;color:var(--accent);font-family:var(--mono)}.pp-title{font-size:20px;font-weight:700;color:var(--ink);text-align:center;letter-spacing:-.02em}.pp-desc{font-size:13px;color:var(--ink2);text-align:center;line-height:1.6}.pp-qr-wrap{background:#fff;border:1px solid var(--border2);padding:8px;margin:8px 0;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.pp-qr{display:block}.pp-link{font-family:var(--mono);font-size:12px;color:var(--accent);text-decoration:underline}.pp-thanks{font-family:var(--mono);font-size:10px;color:var(--ink3);text-align:center}.hero{padding:80px 0 72px;display:block;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(36,214,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(36,214,255,.025) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.4) 20%,rgba(0,0,0,.4) 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.4) 20%,rgba(0,0,0,.4) 80%,transparent 100%)}@media(max-width:860px){.hero{padding:52px 0 48px}}.hero-right-col,.hero-terminal{display:none!important}.hero-content{display:flex;flex-direction:column;gap:22px;max-width:680px;position:relative;z-index:1}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;font-weight:600;color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;width:fit-content;background:#24d6ff0f;border:1px solid rgba(36,214,255,.2);padding:6px 12px;border-radius:99px}.pulse{width:6px;height:6px;border-radius:50%;background:var(--cyan);flex-shrink:0;animation:pulse-dot 2.5s ease-in-out infinite;box-shadow:0 0 8px #24d6ffb3}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,5.8vw,4rem);font-weight:800;letter-spacing:-.04em;line-height:1.06;color:var(--ink)}.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--accent) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:16px;color:var(--ink2);line-height:1.8;max-width:560px}.hero-tagline{display:none!important}.hero-trust{display:flex!important;align-items:center;gap:6px;flex-wrap:wrap}.hero-trust-item{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:500;color:var(--ink3);letter-spacing:.04em}.hero-trust-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.hero-trust-sep{color:var(--border2);font-size:12px}.hero-ctas{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px}.hero-stats{display:flex;gap:0;flex-wrap:wrap;padding-top:28px;border-top:1px solid var(--border)}.hero-stat{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);padding:16px 20px;flex:1;min-width:110px;position:relative;overflow:hidden;transition:border-color var(--ease),background var(--ease)}.hero-stat:first-child{border-radius:var(--radius) 0 0 var(--radius)}.hero-stat:last-child{border-radius:0 var(--radius) var(--radius) 0}.hero-stat+.hero-stat{border-left:none}.hero-stat:before{display:none!important}.hero-stat:after{display:none!important}.hero-stat:hover{border-color:var(--border2);background:var(--surface2)}.hero-stat .val{font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.04em;color:var(--ink);line-height:1}.hero-stat .lbl{font-family:var(--mono);font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:2px}.section-heading{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--ink);padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:4px;letter-spacing:-.02em}.app-layout{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:36px 0 80px}@media(max-width:960px){.app-layout{grid-template-columns:190px 1fr;gap:20px}}@media(max-width:860px){.app-layout{grid-template-columns:1fr;gap:0}.sidebar{display:none}.mobile-filters{display:flex!important}}.sidebar{position:static;align-self:start;display:flex;flex-direction:column;gap:24px}@media(max-width:860px){.sidebar{display:none!important}}.sidebar-section{display:flex;flex-direction:column;gap:6px}.sidebar-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:0 0 8px;border-bottom:1px solid var(--border);margin-bottom:2px;font-family:var(--mono)}.filter-nav{display:flex;flex-direction:column;gap:1px}.filter-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--ink3);transition:color var(--ease),background var(--ease),border-color var(--ease);cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;min-height:36px}.filter-item:hover{color:var(--ink);background:#ffffff0a}.filter-item.active{color:var(--ink);background:var(--accent-dim);border-color:#a3ff3f4d}.fi-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:14px}.fi-label{flex:1;font-size:13px;font-weight:500}.fi-count{font-family:var(--mono);font-size:10px;padding:1px 5px;font-weight:600;background:var(--surface2);color:var(--ink3);border:1px solid var(--border);border-radius:4px}.filter-item.active .fi-count{color:var(--accent);border-color:#a3ff3f4d;background:var(--accent-dim)}.sidebar-card{background:var(--surface);border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:10px;border-radius:var(--radius-lg)}.sidebar-card-title{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.sidebar-card p{font-size:12px;color:var(--ink2);line-height:1.65}.sidebar-quote{font-family:var(--mono);font-size:11px;color:var(--ink3);line-height:1.85;padding:12px 14px;border-left:2px solid var(--accent);background:var(--accent-dim);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.q-mark{color:var(--ink2)}.mobile-filters{display:none;gap:6px;padding:16px 0 8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;max-width:100%}.mobile-filters::-webkit-scrollbar{display:none}.chip{padding:6px 14px;font-size:12px;font-weight:500;border:1px solid var(--border);background:#ffffff08;color:var(--ink3);transition:border-color var(--ease),color var(--ease),background var(--ease);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;border-radius:99px;min-height:32px;font-family:var(--mono);letter-spacing:.02em}.chip:hover{border-color:var(--border2);color:var(--ink2);background:#ffffff0d}.chip.active{border-color:#a3ff3f80;color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px #a3ff3f26}.content{min-width:0;display:flex;flex-direction:column;gap:14px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:10px}.toolbar-status{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink3);font-family:var(--font)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.live{background:var(--green);animation:pulse-dot 2.5s ease-in-out infinite}.status-dot.loading{background:var(--yellow);animation:pulse-dot .8s ease-in-out infinite}.status-dot.err{background:var(--red)}.article-count{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--accent);padding:2px 7px;background:var(--accent-dim);border:1px solid rgba(163,255,63,.2);border-radius:3px}.article-count strong{color:var(--accent)}.view-toggle{display:flex;gap:3px}.view-btn{padding:5px 9px;border:1px solid var(--border);background:transparent;color:var(--ink3);display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--ease),color var(--ease),background var(--ease);border-radius:var(--radius-sm);min-width:32px;min-height:32px}.view-btn:hover{border-color:var(--border2);color:var(--ink2);background:#ffffff0a}.view-btn.active{border-color:var(--border2);color:var(--ink);background:var(--surface2)}.error-banner{display:none;align-items:flex-start;gap:8px;padding:10px 14px;background:#e5484d0f;border:1px solid rgba(229,72,77,.3);color:var(--red);font-size:13px;font-weight:500;border-radius:var(--radius-sm)}.error-banner.visible{display:flex}.e-icon{flex-shrink:0}.feed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feed-grid .card-featured{grid-column:1 / -1}@media(min-width:1060px){.feed-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.feed-grid{grid-template-columns:1fr;gap:12px}}.feed-grid.list-view{grid-template-columns:1fr}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--surface);border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;border-radius:var(--radius-lg);will-change:transform;animation:card-in .18s ease both;animation-delay:calc(var(--i, 0) * 15ms);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--card-accent, var(--border));border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:2;transition:opacity .2s ease}.card:after{display:none}.card:hover{border-color:var(--border2);background:var(--surface2);transform:translateY(-3px);box-shadow:0 8px 32px #00000080,0 0 0 1px var(--border2),0 0 20px #24d6ff0f;z-index:auto}.card:hover:before{opacity:1}.card-featured{padding:24px 26px}.card-featured .card-title{font-size:17px;line-height:1.35}.card-row{flex-direction:row;align-items:flex-start;gap:14px}.card-row .card-num{padding-top:2px;flex-shrink:0}.card-row .card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.card-row .card-link{flex-shrink:0;align-self:center}.card-row .card-footer{display:none}.card-img-wrap{display:block;overflow:hidden;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin:-14px -14px 10px;aspect-ratio:16 / 9;background:var(--surface2);flex-shrink:0}.card-img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .3s ease}.card:hover .card-img{transform:scale(1.02)}.card-img-wrap--list{margin:0;border-radius:var(--radius-sm);width:80px;min-width:80px;aspect-ratio:4 / 3;align-self:flex-start;flex-shrink:0}.card-img--list{border-radius:var(--radius-sm)}.card-row{display:flex;align-items:flex-start;gap:12px}.card-num{font-family:var(--mono);font-size:16px;color:var(--border2);flex-shrink:0;line-height:1;font-weight:700}.card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;overflow:hidden}.card-cat{display:inline-flex;align-items:center;padding:2px 7px;font-family:var(--mono);font-size:9px;letter-spacing:.4px;text-transform:uppercase;border:1px solid;flex-shrink:0;line-height:1.6;font-weight:700;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:3px}.card-cat-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.85}.card-date{font-family:var(--mono);font-size:10px;color:var(--ink3);white-space:nowrap;margin-left:auto;flex-shrink:0}.card-title{font-size:14px;font-weight:600;color:var(--ink);line-height:1.5;margin:0;letter-spacing:-.015em;font-family:var(--font)}.card-title a{color:inherit;transition:color var(--ease)}.card-title a:hover{color:var(--accent)}.card-snippet{font-size:13px;color:var(--ink3);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font)}.card-featured .card-snippet{-webkit-line-clamp:3}.card-snippet--sm{-webkit-line-clamp:1;font-size:12px}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border);gap:8px;margin-top:auto}.card-source{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;color:var(--ink3);min-width:0;font-weight:600}.card-source span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.card-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:var(--ink3);font-family:var(--font);border:1px solid var(--border);background:transparent;transition:border-color var(--ease),color var(--ease),background var(--ease);white-space:nowrap;flex-shrink:0;border-radius:var(--radius-sm)}.card-link:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim);box-shadow:none}.card.cat-general{--card-accent: rgba(100,100,100,.6)}.card.cat-security{--card-accent: #FF637E}.card.cat-ai{--card-accent: #8B6CFF}.card.cat-python{--card-accent: #3B82F6}.card.cat-javascript{--card-accent: #FFBF5A}.card.cat-devops{--card-accent: #24D6FF}.card.cat-open-source{--card-accent: #A3FF3F}.card.cat-java{--card-accent: #F97316}.card.cat-rust{--card-accent: #CE422B}.card.cat-go{--card-accent: #24D6FF}.card.cat-architecture{--card-accent: #8B6CFF}.cat-general{color:#8b949e;border-color:#64646466;background:#64646412}.cat-security{color:#ff637e;border-color:#ff637e66;background:#ff637e14}.cat-ai{color:#8b6cff;border-color:#8b6cff66;background:#8b6cff14}.cat-python{color:#3b82f6;border-color:#3b82f666;background:#3b82f614}.cat-javascript{color:#ffbf5a;border-color:#ffbf5a66;background:#ffbf5a14}.cat-devops{color:#24d6ff;border-color:#24d6ff66;background:#24d6ff14}.cat-open-source{color:#a3ff3f;border-color:#a3ff3f66;background:#a3ff3f14}.cat-java{color:#f97316;border-color:#f9731666;background:#f9731614}.cat-rust{color:#ce422b;border-color:#ce422b66;background:#ce422b14}.cat-go{color:#24d6ff;border-color:#24d6ff66;background:#24d6ff14}.cat-architecture{color:#8b6cff;border-color:#8b6cff66;background:#8b6cff14}.src-dot.cat-general{background:#555}.src-dot.cat-security{background:#ff637e}.src-dot.cat-ai{background:#8b6cff}.src-dot.cat-python{background:#3b82f6}.src-dot.cat-javascript{background:#ffbf5a}.src-dot.cat-devops{background:#24d6ff}.src-dot.cat-open-source{background:#a3ff3f}.src-dot.cat-java{background:#f97316}.src-dot.cat-rust{background:#ce422b}.src-dot.cat-go{background:#24d6ff}.src-dot.cat-architecture{background:#8b6cff}.feed-filtered .card.cat-security .card-link{border-color:#ff637e;color:#ff637e}.feed-filtered .card.cat-ai .card-link{border-color:#8b6cff;color:#8b6cff}.feed-filtered .card.cat-python .card-link{border-color:#3b82f6;color:#3b82f6}.feed-filtered .card.cat-javascript .card-link{border-color:#ffbf5a;color:#ffbf5a}.feed-filtered .card.cat-devops .card-link{border-color:#24d6ff;color:#24d6ff}.feed-filtered .card.cat-open-source .card-link{border-color:#a3ff3f;color:#a3ff3f}.feed-filtered .card.cat-java .card-link{border-color:#f97316;color:#f97316}.feed-filtered .card.cat-rust .card-link{border-color:#ce422b;color:#ce422b}.feed-filtered .card.cat-go .card-link{border-color:#24d6ff;color:#24d6ff}@keyframes ph-grid-drift{0%{background-position:0 0}to{background-position:18px 18px}}@keyframes ph-scan{0%{top:-20%;opacity:0}10%{opacity:.4}90%{opacity:.2}to{top:110%;opacity:0}}@keyframes ph-tag-blink{0%,90%,to{opacity:.5}95%{opacity:.1}}@keyframes ph-glow-soft{0%,to{opacity:.4}50%{opacity:.65}}@keyframes ph-general-type{0%,to{transform:translate(-50%,-50%)}10%{transform:translate(calc(-50% + 2px),-50%)}30%{transform:translate(calc(-50% - 2px),-50%)}}@keyframes ph-security-ring{0%{transform:translate(-50%,-50%) scale(.8);opacity:.6}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}@keyframes ph-security-icon{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.06)}}@keyframes ph-ai-orbit{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ph-ai-icon{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08)}}@keyframes ph-python-slither{0%,to{transform:translate(-50%,-50%) rotate(-4deg)}50%{transform:translate(-50%,-50%) rotate(4deg)}}@keyframes ph-js-zap{0%,to{transform:translate(-50%,-50%)}15%{transform:translate(-50%,calc(-50% - 6px)) scale(1.1)}30%{transform:translate(-50%,-50%) scale(.97)}}@keyframes ph-devops-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ph-os-float{0%,to{transform:translate(-50%,-50%) rotate(-3deg)}50%{transform:translate(-50%,-50%) rotate(3deg) translateY(-2px)}}@keyframes ph-java-steam{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 6px))}}@keyframes ph-rust-ratchet{0%{transform:translate(-50%,-50%) rotate(0)}20%{transform:translate(-50%,-50%) rotate(25deg)}40%{transform:translate(-50%,-50%) rotate(22deg)}60%{transform:translate(-50%,-50%) rotate(50deg)}80%{transform:translate(-50%,-50%) rotate(47deg)}to{transform:translate(-50%,-50%) rotate(72deg)}}@keyframes ph-go-run{0%,to{transform:translate(-50%,-50%)}20%{transform:translate(calc(-50% + 5px),calc(-50% - 4px))}40%{transform:translate(calc(-50% + 8px),-50%)}60%{transform:translate(calc(-50% + 5px),calc(-50% - 4px))}80%{transform:translate(-50%,-50%)}}.card-placeholder{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;text-decoration:none;background:var(--surface2);border-bottom:1px solid var(--border)}.card-placeholder:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ph-color),transparent);animation:ph-scan 4s ease-in-out infinite;pointer-events:none;z-index:2;opacity:.25}.card-placeholder__grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--ph-color) 1px,transparent 1px);background-size:18px 18px;opacity:.07;animation:ph-grid-drift 6s linear infinite}.card-placeholder__icon{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;color:var(--ph-color);animation:ph-glow-soft 3s ease-in-out infinite}.card-placeholder__tag{position:absolute;z-index:1;bottom:8px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.4px;color:var(--ph-color);opacity:.4;animation:ph-tag-blink 4s step-end infinite}.card-placeholder[data-ph-cat=General] .card-placeholder__icon{animation:ph-general-type 1.4s steps(1) infinite}.card-placeholder[data-ph-cat=Security] .card-placeholder__icon{animation:ph-security-icon 2s ease-in-out infinite}.card-placeholder[data-ph-cat=AI] .card-placeholder__icon{animation:ph-ai-icon 2.5s ease-in-out infinite}.card-placeholder[data-ph-cat=Python] .card-placeholder__icon{animation:ph-python-slither 2.4s ease-in-out infinite}.card-placeholder[data-ph-cat=JavaScript] .card-placeholder__icon{animation:ph-js-zap 1.8s ease-in-out infinite}.card-placeholder[data-ph-cat=DevOps] .card-placeholder__icon{animation:ph-devops-spin 6s linear infinite}.card-placeholder[data-ph-cat="Open Source"] .card-placeholder__icon{animation:ph-os-float 3s ease-in-out infinite}.card-placeholder[data-ph-cat=Java] .card-placeholder__icon{animation:ph-java-steam 2s ease-in-out infinite}.card-placeholder[data-ph-cat=Rust] .card-placeholder__icon{animation:ph-rust-ratchet 2s steps(5,end) infinite}.card-placeholder[data-ph-cat=Go] .card-placeholder__icon{animation:ph-go-run 2s ease-in-out infinite}.card-placeholder[data-ph-cat=Security]:before{content:"";position:absolute;z-index:0;top:50%;left:50%;width:44px;height:44px;border-radius:50%;border:1px solid var(--ph-color);opacity:0;animation:ph-security-ring 2.5s ease-out infinite}.card-placeholder[data-ph-cat=AI]:before{content:"";position:absolute;z-index:0;top:50%;left:50%;width:68px;height:68px;border-radius:50%;border:1px dashed var(--ph-color);opacity:.18;animation:ph-ai-orbit 5s linear infinite}.card-placeholder--list{display:inline-flex;flex-direction:column;border-bottom:none;border:1px solid var(--border);border-radius:var(--radius-sm)}.card-placeholder--list:after{display:none}.card-placeholder--list:before{display:none}.card-placeholder--list .card-placeholder__tag{display:none}.skeleton-card{background:var(--surface);border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:10px;border-radius:var(--radius-lg)}.sk{background:linear-gradient(90deg,var(--surface2) 25%,rgba(255,255,255,.04) 50%,var(--surface2) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-chip{height:14px;width:56px}.sk-h1{height:12px;width:100%}.sk-h2{height:12px;width:70%}.sk-t1{height:10px;width:100%}.sk-t2{height:10px;width:80%}.sk-t3{height:10px;width:55%}.sk-foot{height:22px;width:100%}.empty-state{display:none;flex-direction:column;align-items:center;text-align:center;padding:64px 24px;grid-column:1/-1}.empty-state.visible{display:flex}.empty-art{font-family:var(--mono);font-size:12px;color:var(--ink3);margin-bottom:16px;white-space:pre;border:1px solid var(--border);padding:14px 20px;background:var(--surface);border-radius:var(--radius)}.empty-title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-.01em}.empty-sub{font-family:var(--mono);font-size:11px;color:var(--ink3)}.value-section{padding:80px 0 88px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.value-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(36,214,255,.3),transparent)}.value-header{text-align:center;margin-bottom:52px;display:flex;flex-direction:column;align-items:center;gap:12px}.value-eyebrow{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.12em}.value-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}.value-title em{font-style:normal;background:linear-gradient(120deg,var(--accent) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.value-desc{font-size:15px;color:var(--ink2);max-width:480px;line-height:1.7;text-align:center}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:860px){.value-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.value-grid{grid-template-columns:1fr}}.value-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--ease),background var(--ease),transform var(--ease);position:relative;overflow:hidden}.value-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--card-accent, var(--border));border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:opacity var(--ease)}.value-card:hover{border-color:var(--border2);background:var(--surface2);transform:translateY(-2px)}.value-card:hover:before{opacity:1}.value-card--lime{--card-accent: var(--accent)}.value-card--cyan{--card-accent: var(--cyan)}.value-card--violet{--card-accent: var(--violet)}.value-icon{width:40px;height:40px;border-radius:var(--radius);background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--ink2);transition:color var(--ease),border-color var(--ease),background var(--ease);flex-shrink:0}.value-card:hover .value-icon{color:var(--ink);border-color:var(--border2)}.value-card--lime .value-icon{color:var(--accent);background:var(--accent-dim);border-color:#a3ff3f40}.value-card--cyan .value-icon{color:var(--cyan);background:var(--cyan-dim);border-color:#24d6ff40}.value-card--violet .value-icon{color:var(--violet);background:var(--violet-dim);border-color:#8b6cff40}.value-card-title{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.value-card-desc{font-size:13px;color:var(--ink3);line-height:1.65}.support-strip{background:linear-gradient(135deg,var(--surface) 0%,rgba(163,255,63,.04) 100%);border:1px solid var(--border);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:48px;border-radius:var(--radius-lg);position:relative;overflow:hidden}.support-strip:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(163,255,63,.4),transparent)}@media(max-width:600px){.support-strip{flex-direction:column;text-align:center;padding:20px}.support-strip .btn{display:flex;width:100%;justify-content:center;white-space:normal;box-sizing:border-box}}.support-text{display:flex;flex-direction:column;gap:4px}.support-title{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.support-desc{font-size:13px;color:var(--ink2);line-height:1.6;max-width:460px}.site-footer{border-top:1px solid var(--border);padding:56px 0 32px;background:var(--bg2)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid var(--border);margin-bottom:28px}@media(max-width:960px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:28px}}.footer-col{display:flex;flex-direction:column;gap:14px}.footer-col-logo{gap:16px}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand-name{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.footer-mission{font-size:12px;color:var(--ink3);line-height:1.7;max-width:240px}.footer-col-heading{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.1em;padding-bottom:6px;border-bottom:1px solid var(--border)}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{font-size:13px;color:var(--ink3);transition:color var(--ease);text-decoration:none}.footer-links a:hover{color:var(--cyan)}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-left{display:flex;flex-direction:column;gap:6px;flex:1}.footer-tagline{font-size:12px;color:var(--ink3);font-weight:500}.footer-copy{font-size:11px;color:var(--ink3);font-family:var(--mono)}.site-version-badge{color:var(--ink3);text-decoration:none;border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-size:.7rem;font-family:var(--mono);transition:color .15s,border-color .15s}.site-version-badge:hover{color:var(--ink2);border-color:var(--border2)}.footer-shortcuts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--ink3);font-family:var(--mono);padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:16px}.footer-kbd-label{color:var(--ink3)}.footer-kbd{display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border2);font-family:var(--mono);font-size:10px;font-weight:600;color:var(--ink2);padding:2px 6px;border-radius:4px;white-space:nowrap;min-width:22px}.footer-sources{border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:28px}.footer-sources-title{font-family:var(--mono);font-size:10px;color:var(--ink3);font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}.footer-sources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.footer-sources-list li{font-family:var(--mono);font-size:11px;color:var(--ink3);line-height:1.6;word-break:break-word;overflow-wrap:break-word}.footer-sources-list a{color:var(--ink3);text-decoration:none}.footer-sources-list a:hover{color:var(--cyan);text-decoration:underline}.feedback-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 0 80px;position:relative;overflow:hidden}.feedback-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(36,214,255,.35),transparent)}.feedback-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:36px}.feedback-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase;background:none;border:none;padding:0}.feedback-title{font-size:clamp(1.8rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.feedback-title em{font-style:normal;background:linear-gradient(120deg,var(--accent) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.feedback-desc{font-size:14px;color:var(--ink2);line-height:1.75;max-width:520px;border-left:2px solid var(--border2);padding-left:16px;text-align:left;background:none;border-radius:0}.feedback-desc .comment{color:var(--ink3);font-style:italic;font-family:var(--mono);font-size:12px}.feedback-desc .keyword{color:var(--accent);font-family:var(--mono)}.feedback-desc .fn{color:var(--ink2);font-family:var(--mono)}.feedback-desc .string{color:var(--green);font-family:var(--mono)}.feedback-terminal,.feedback-term-body,.feedback-git-log,.git-line{display:none!important}.feedback-divider{display:none}.giscus-wrap iframe{border-radius:0!important}@media(max-width:600px){.feedback-section{padding:40px 0 48px}}.contribute-art-svg text,.feedback-art-svg text,.about-network-svg text{font-family:JetBrains Mono,Fira Code,ui-monospace,Cascadia Code,monospace!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.contribute-art-svg text[fill="rgba(255,255,255,0.28)"],.feedback-art-svg text[fill="rgba(255,255,255,0.28)"],.about-network-svg text[fill="rgba(255,255,255,0.28)"]{fill:#ffffff85}.contribute-art-svg text[fill="rgba(255,255,255,0.25)"],.feedback-art-svg text[fill="rgba(255,255,255,0.25)"],.about-network-svg text[fill="rgba(255,255,255,0.25)"]{fill:#ffffff7a}.contribute-art-svg text[fill="rgba(255,255,255,0.22)"],.feedback-art-svg text[fill="rgba(255,255,255,0.22)"],.about-network-svg text[fill="rgba(255,255,255,0.22)"]{fill:#ffffff73}.contribute-art-svg text[fill="rgba(255,255,255,0.35)"],.feedback-art-svg text[fill="rgba(255,255,255,0.35)"],.about-network-svg text[fill="rgba(255,255,255,0.35)"]{fill:#ffffff94}.contribute-art-svg text[fill="rgba(255,255,255,0.3)"],.feedback-art-svg text[fill="rgba(255,255,255,0.3)"],.about-network-svg text[fill="rgba(255,255,255,0.3)"]{fill:#ffffff85}.about-art{display:flex;align-items:center;justify-content:center;position:relative;min-height:300px}.about-network-svg{width:100%;max-width:440px;height:auto;filter:drop-shadow(0 0 32px rgba(129,140,248,.22)) drop-shadow(0 0 12px rgba(6,182,212,.1))}@media(max-width:860px){.about-art{display:none}}.contribute-art-wrap{display:flex;align-items:center;justify-content:center;height:100%;min-height:340px}.contribute-art-svg{width:100%;max-width:400px;height:auto;filter:drop-shadow(0 0 28px rgba(6,182,212,.18)) drop-shadow(0 0 8px rgba(129,140,248,.12))}.feedback-art-col{display:flex;align-items:center;justify-content:center;min-width:0}.feedback-art-svg{width:100%;max-width:400px;height:auto;filter:drop-shadow(0 0 28px rgba(129,140,248,.2)) drop-shadow(0 0 8px rgba(6,182,212,.08))}@media(max-width:860px){.feedback-art-col{display:none!important}}.feedback-section .contribute-title em{font-style:normal;background:linear-gradient(120deg,var(--accent) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contribute-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 0 80px;position:relative;overflow:hidden}.contribute-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(163,255,63,.35),transparent)}.contribute-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}@media(max-width:860px){.contribute-inner{grid-template-columns:1fr;gap:28px}.contribute-terminal-wrap{display:none!important}}.contribute-copy{display:flex;flex-direction:column;gap:18px}.contribute-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase;width:fit-content;background:none;border:none;padding:0}.contribute-title{font-size:clamp(1.8rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.contribute-title em{font-style:normal;background:linear-gradient(120deg,var(--accent) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contribute-desc{font-size:14px;color:var(--ink2);line-height:1.7;max-width:460px}.contribute-ways{list-style:none;display:flex;flex-direction:column;gap:8px}.contribute-ways li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink2);padding:9px 14px;border:1px solid var(--border);background:#ffffff05;border-radius:var(--radius-sm);transition:border-color var(--ease),color var(--ease),background var(--ease),transform var(--ease)}.contribute-ways li svg{color:var(--ink3);flex-shrink:0}.contribute-ways li:hover{border-color:var(--border2);color:var(--ink);background:#ffffff0d;transform:translate(3px);box-shadow:none}.contribute-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.contribute-terminal-wrap{min-width:0}.hero-terminal,.feedback-terminal{background:var(--surface2);border:1px solid var(--border);overflow:hidden;font-family:var(--mono);font-size:12px;max-width:100%;border-radius:var(--radius-lg);box-shadow:none}.term-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface2);border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.term-dot{width:10px;height:10px;border-radius:50%}.term-dot.red,.term-dot.yellow,.term-dot.green{background:#3a3a3a}.term-title{flex:1;text-align:center;font-size:11px;color:var(--ink3);font-weight:600}.term-body{padding:16px 18px;line-height:2;min-height:200px}.term-line{display:flex;gap:8px;opacity:0;animation:fadein .2s ease-out forwards}.term-line:nth-child(1){animation-delay:.2s}.term-line:nth-child(2){animation-delay:.4s}.term-line:nth-child(3){animation-delay:.6s}.term-line:nth-child(4){animation-delay:.76s}.term-line:nth-child(5){animation-delay:.9s}.term-line:nth-child(6){animation-delay:1.04s}.term-line:nth-child(7){animation-delay:1.16s}.term-line:nth-child(8){animation-delay:1.28s}.term-line:nth-child(9){animation-delay:1.4s}@keyframes fadein{to{opacity:1}}.term-line .prompt{color:var(--green);flex-shrink:0}.term-line .cmd{color:var(--ink)}.term-line .arg{color:var(--accent)}.term-line .flag,.term-line .out{color:var(--ink2)}.term-line .ok{color:var(--green)}.term-line .warn{color:var(--yellow)}.term-line .cmt{color:var(--ink3);font-style:italic}.term-cursor{display:inline-block;width:7px;height:13px;background:var(--green);vertical-align:middle;animation:blink 1s step-end infinite;margin-left:3px;border-radius:1px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.back-to-top{position:fixed;bottom:calc(24px + var(--cookie-h, 0px));right:24px;z-index:200;width:40px;height:40px;background:var(--surface2);border:1px solid var(--border);color:var(--ink2);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;border-radius:var(--radius);box-shadow:var(--shadow)}.back-to-top.visible{opacity:1;pointer-events:auto}.back-to-top:hover{border-color:var(--border2);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.bm-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--ink3);cursor:pointer;transition:color var(--ease),border-color var(--ease);margin-left:auto;padding:0;border-radius:var(--radius-sm)}.bm-btn:hover{color:var(--ink2);border-color:var(--border2);background:#ffffff0d;box-shadow:none}.bm-btn.bm-active{color:var(--accent);border-color:#a3ff3f80;background:var(--accent-dim);box-shadow:0 0 0 1px #a3ff3f26}.bm-toast{position:fixed;bottom:calc(24px + var(--cookie-h, 0px));left:50%;transform:translate(-50%) translateY(10px);background:var(--surface2);border:1px solid var(--border2);color:var(--ink2);font-family:var(--mono);font-size:12px;font-weight:600;padding:8px 18px;z-index:9999;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap;border-radius:var(--radius)}.bm-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.card.cat-bookmarks{--card-accent: #E879F9}.cat-bookmarks{color:#e879f9;border-color:#e879f9;background:#e879f914}.src-dot.cat-bookmarks{background:#e879f9}:focus-visible{outline:2px solid rgba(36,214,255,.7);outline-offset:3px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:12px;z-index:10000;padding:7px 14px;background:var(--accent);color:#05080d;font-weight:700;font-size:13px;border-radius:var(--radius-sm);text-decoration:none;transform:translateY(-200%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.search-bar-wrap{padding-bottom:4px}.search-bar{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);padding:8px 14px;transition:border-color var(--ease),box-shadow var(--ease);border-radius:var(--radius)}.search-bar:focus-within{border-color:#24d6ff80;box-shadow:0 0 0 3px #24d6ff14}.search-icon{flex-shrink:0;color:var(--ink3)}.search-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font);font-size:13px;color:var(--ink);min-width:0}.search-input::placeholder{color:var(--ink3)}.search-kbd{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--ink3);background:var(--surface2);border:1px solid var(--border);padding:1px 5px;flex-shrink:0;border-radius:4px}.card-read-time{font-family:var(--mono);font-size:9px;color:var(--ink3);margin-left:8px;white-space:nowrap}.card-actions{display:flex;align-items:center;gap:6px}.card-share-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--ink3);cursor:pointer;transition:color var(--ease),border-color var(--ease);padding:0;border-radius:var(--radius-sm)}.card-share-btn:hover{color:var(--ink2);border-color:var(--border2);box-shadow:none}.card-summary-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--purple);cursor:pointer;transition:color var(--ease),border-color var(--ease),background var(--ease);padding:0;border-radius:var(--radius-sm)}.card-summary-btn:hover{color:var(--purple);border-color:#bc8cff80;background:#bc8cff14;box-shadow:none}.card-summary-btn--snippet{color:var(--teal, #2DD4BF)}.card-summary-btn--snippet:hover{color:var(--teal, #2DD4BF);border-color:#2dd4bf4d;background:#2dd4bf14}#summaryModal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;align-items:center;justify-content:center}#summaryModal.open{display:flex}.summary-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .15s ease}.summary-dialog{position:relative;z-index:1;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:min(540px,92vw);max-height:88vh;display:flex;flex-direction:column;animation:pop-in .18s ease;overflow:hidden}.summary-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0}.summary-ai-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--purple);background:#bc8cff1a;border:1px solid rgba(188,140,255,.3);padding:3px 8px;border-radius:99px}.summary-ai-badge--snippet{color:var(--teal, #2DD4BF);background:#2dd4bf14;border-color:#2dd4bf4d}.summary-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border2);background:var(--surface);color:var(--ink2);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--ease),border-color var(--ease);flex-shrink:0}.summary-close:hover{color:var(--ink);border-color:var(--border2)}.summary-dialog__title{font-size:15px;font-weight:600;color:var(--ink);line-height:1.4;letter-spacing:-.01em;padding:16px 18px 10px;flex-shrink:0}.summary-dialog__body{padding:0 18px 16px;flex:1;overflow-y:auto;min-height:60px}.summary-text{font-size:14px;color:var(--ink2);line-height:1.75;margin:0}.summary-error{font-family:var(--mono);font-size:11px;color:var(--yellow);line-height:1.6;background:#f5a6230f;border:1px solid rgba(245,166,35,.2);padding:10px 12px;border-radius:var(--radius-sm);margin:0}.summary-loading{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--ink3);padding:8px 0}.summary-spinner{width:14px;height:14px;border:2px solid var(--border2);border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.summary-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px 14px;border-top:1px solid var(--border);flex-shrink:0}.summary-source{font-family:var(--mono);font-size:10px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.newsletter-section{background:linear-gradient(135deg,var(--surface) 0%,rgba(91,94,234,.04) 100%);border:1px solid var(--border);padding:44px 40px;margin-bottom:40px;border-radius:var(--radius-lg);position:relative;overflow:hidden}.newsletter-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(91,94,234,.4),transparent)}.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}@media(max-width:800px){.newsletter-inner{grid-template-columns:1fr;gap:28px}}@media(max-width:600px){.newsletter-section{padding:28px 18px}}.newsletter-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;width:fit-content;background:none;border:none;padding:0}.newsletter-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink);margin-bottom:12px}.newsletter-title em{font-style:normal;background:linear-gradient(135deg,var(--accent) 0%,#9B9EFF 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.newsletter-desc{font-size:14px;color:var(--ink2);line-height:1.7;margin-bottom:16px}.newsletter-bullets{list-style:none;display:flex;flex-direction:column;gap:7px}.newsletter-bullets li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2)}.newsletter-bullets li svg{color:var(--green);flex-shrink:0}.newsletter-form{display:flex;flex-direction:column;gap:10px}.newsletter-field-wrap{display:flex;gap:0;overflow:hidden;border-radius:var(--radius)}.newsletter-input{flex:1;background:var(--bg);border:1px solid var(--border2);border-right:none;padding:11px 14px;font-family:var(--font);font-size:14px;color:var(--ink);outline:none;border-radius:var(--radius) 0 0 var(--radius);transition:border-color var(--ease)}.newsletter-input::placeholder{color:var(--ink3)}.newsletter-input:focus{border-color:#5b5eea80;box-shadow:0 0 0 3px #5b5eea1f}.newsletter-btn{border-radius:0 var(--radius) var(--radius) 0;padding:11px 18px;font-size:13px;white-space:nowrap;gap:7px}.newsletter-fine{font-family:var(--mono);font-size:10px;color:var(--ink3)}.newsletter-msg{font-family:var(--mono);font-size:12px;padding:7px 10px;border-radius:var(--radius-sm)}.newsletter-msg--ok{color:var(--green);background:#3ecf8e0f;border:1px solid rgba(62,207,142,.25)}.newsletter-msg--err{color:var(--red);background:#e5484d0f;border:1px solid var(--red)}.footer-shortcuts{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:var(--ink3);margin:4px 0}.footer-kbd-label{color:var(--ink3);margin-right:4px}.footer-kbd{background:var(--surface2);border:1px solid var(--border);color:var(--ink3);font-family:var(--mono);font-size:9px;font-weight:700;padding:1px 4px;border-radius:2px;vertical-align:middle}.my-pulse-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:490;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none}.my-pulse-backdrop.open{display:block;animation:fade-in .15s ease}.my-pulse-drawer{position:fixed;top:0;right:0;bottom:0;z-index:500;width:min(400px,100vw);background:var(--bg2);border-left:1px solid var(--border);box-shadow:-4px 0 32px #00000080;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.my-pulse-drawer.open{transform:translate(0)}.mpd-header{padding:14px 16px 12px;border-bottom:1px solid var(--border);background:var(--surface2);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.mpd-title{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.mpd-subtitle{font-family:var(--mono);font-size:11px;color:var(--ink3)}.mpd-close{background:none;border:none;color:var(--ink3);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:var(--radius-sm);transition:color var(--ease),background var(--ease);line-height:1}.mpd-close:hover{color:var(--ink);background:var(--surface)}.mpd-body{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.mpd-body::-webkit-scrollbar{width:4px}.mpd-body::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.mpd-footer{padding:10px 14px;border-top:1px solid var(--border);background:var(--surface2);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.mpd-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--ink2);-webkit-user-select:none;user-select:none;padding:4px 0}.mpd-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.mpd-toggle-track{width:32px;height:18px;border-radius:9px;flex-shrink:0;background:var(--surface);border:1px solid var(--border2);position:relative;transition:background var(--ease),border-color var(--ease)}.mpd-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--ink3);transition:transform var(--ease),background var(--ease)}.mpd-toggle input:checked~.mpd-toggle-track{background:#5b5eea1f;border-color:var(--accent)}.mpd-toggle input:checked~.mpd-toggle-track:after{transform:translate(14px);background:var(--accent)}.mpd-toggle-label{flex:1;line-height:1.4}.mpd-toggle input:focus-visible~.mpd-toggle-track{outline:2px solid var(--accent);outline-offset:2px}.mpd-chip-group{display:flex;flex-wrap:wrap;gap:5px}.mpd-chip{padding:4px 9px;font-size:12px;font-weight:500;border:1px solid var(--chip-color, var(--border2));background:#0003;color:var(--chip-color, var(--ink2));cursor:pointer;border-radius:20px;display:inline-flex;align-items:center;transition:opacity var(--ease),filter var(--ease)}.mpd-chip--muted{border-color:var(--border);color:var(--ink3);background:transparent;opacity:.4;text-decoration:line-through;filter:grayscale(.7)}.mpd-chip:hover{opacity:1!important;filter:none!important}.mpd-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mpd-source-list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border2) transparent}.mpd-source-list::-webkit-scrollbar{width:4px}.mpd-source-list::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.mpd-source{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;background:none;width:100%;text-align:left;font-family:var(--font);font-size:13px;color:var(--ink2);transition:background var(--ease),border-color var(--ease)}.mpd-source:hover{background:var(--surface);border-color:var(--border)}.mpd-source--muted{opacity:.45;text-decoration:line-through;color:var(--ink3)}.mpd-section{padding:14px 16px;border-bottom:1px solid var(--border)}.mpd-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin-bottom:8px;font-family:var(--mono)}.stale-cache-bar{display:none;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--yellow);background:#f5a6230f;border:1px solid rgba(245,166,35,.2);border-radius:var(--radius-sm);padding:6px 12px;margin-bottom:10px}.stale-cache-bar.visible{display:flex}.stale-cache-bar__refresh{background:none;border:none;cursor:pointer;color:var(--accent);font-family:var(--mono);font-size:11px;padding:0;text-decoration:underline}.stale-cache-bar__refresh:hover{opacity:.8}.feed-health-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:11px;color:var(--ink3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;margin-bottom:12px}.fhb-info{flex:1 1 auto}.fhb-details summary{cursor:pointer;color:var(--yellow);list-style:none}.fhb-details summary::-webkit-details-marker{display:none}.fhb-details ul{margin:6px 0 0 12px;padding:0;list-style:disc;color:var(--red)}#seoLatestFallback{margin-top:20px}#seoLatestFallback h2{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:14px;letter-spacing:-.01em}.seo-articles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(min-width:1060px){.seo-articles-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.seo-articles-grid{grid-template-columns:1fr;gap:12px}}.seo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:border-color .2s ease,background .2s ease}.seo-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:2}.seo-card:hover{border-color:var(--border2);background:var(--surface2);transform:none;box-shadow:none}.seo-card:hover:before{height:2px;background:var(--border2)}.seo-card-img-wrap{display:block;overflow:hidden;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin:-14px -16px 4px;aspect-ratio:16 / 9;background:var(--surface2);flex-shrink:0}.seo-card-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.seo-card h3{font-size:14px;font-weight:600;color:var(--ink);line-height:1.5;margin:0;letter-spacing:-.01em;font-family:var(--font)}.seo-card h3 a{color:inherit;text-decoration:none;transition:color .15s ease}.seo-card h3 a:hover{color:var(--accent)}.seo-card p{font-size:13px;color:var(--ink3);line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.seo-card small{font-family:var(--mono);font-size:10px;color:var(--ink3);margin-top:auto}.seo-card-summary{display:flex;flex-direction:column;gap:4px}.seo-ai-badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--purple);background:#bc8cff1a;border:1px solid rgba(188,140,255,.3);padding:2px 6px;border-radius:99px;width:fit-content;margin-bottom:2px}.seo-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border);gap:8px;margin-top:auto}#commentsJumpBtn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0}@media(min-width:600px){#commentsJumpBtn{width:auto;padding:5px 12px}}@media(max-width:600px){.page-wrap{padding:0 16px}.hero{padding:32px 0}.hero-stats{flex-wrap:wrap}.hero-stat:first-child{border-radius:var(--radius) var(--radius) 0 0}.hero-stat:last-child{border-radius:0 0 var(--radius) var(--radius)}.hero-stat+.hero-stat{border-left:1px solid var(--border);border-top:none}.footer-inner{flex-direction:column;align-items:flex-start}.toolbar{flex-direction:column;align-items:flex-start;gap:8px}.toolbar-left{flex-wrap:wrap;gap:8px}.card{padding:12px 14px}.card-featured{padding:16px 14px}.nav-actions{gap:6px;flex-shrink:0}.nav-actions .btn-label{display:none}.btn-sm{padding:5px 9px;font-size:12px}}@media(max-width:480px){.settings-popover{position:fixed!important;top:56px!important;right:0!important;left:0!important;width:100%!important;border-left:none;border-right:none;box-shadow:var(--shadow-lg);border-radius:0}}@media(max-width:860px){.bm-btn,.card-share-btn,.card-summary-btn,.summary-close,.mpd-close,.pp-close,.view-btn{min-width:44px;min-height:44px}.chip{min-height:40px;padding:8px 16px}}@media(max-width:400px){.hero h1{font-size:clamp(1.6rem,8vw,2.2rem);line-height:1.12}.hero-sub{font-size:14px}}@media(max-width:480px){.newsletter-field-wrap{flex-direction:column;border-radius:var(--radius)}.newsletter-input{border-right:1px solid var(--border2);border-radius:var(--radius)}.newsletter-btn{border-radius:var(--radius);width:100%;justify-content:center}}@media(max-width:860px){.search-kbd{display:none}}@media(max-width:860px){.mobile-filters{position:sticky;top:58px;z-index:90;background:var(--bg);padding:10px 16px;margin:0 -16px;border-bottom:1px solid var(--border);-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}}@media(max-width:860px)and (max-height:600px){.summary-dialog{max-height:80vh}.summary-dialog__title{padding:10px 14px 6px;font-size:13px}.summary-dialog__body{padding:0 14px 12px}}@media(max-width:640px){.card-img-wrap{aspect-ratio:21 / 9}}@media(max-width:600px){.toolbar-left{width:100%}.toolbar-right{width:100%;justify-content:space-between}.article-count{flex:1;text-align:right}}@media(max-width:860px){.footer-shortcuts{display:none}}@media(max-width:480px){.settings-popover{max-height:calc(100vh - 58px - env(safe-area-inset-bottom,0px));overflow-y:auto}}@media(max-width:480px){.pp-modal-backdrop{align-items:flex-end}.pp-modal{width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));animation:slide-up-sheet .22s ease}}@keyframes slide-up-sheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:400px){.nav-actions{gap:4px}.nav-actions .btn-sm{padding:5px 7px}}@media(max-width:860px){.mobile-filters{scroll-snap-type:x mandatory}.chip{scroll-snap-align:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.term-cursor,.pulse,.hero-terminal,.contribute-terminal-wrap .hero-terminal{animation:none!important}.card:hover,.card-featured:hover,.signal-card:hover,.filter-item:hover,.btn:hover,.back-to-top:hover,.nav-link:hover{transform:none!important;box-shadow:inherit!important}.term-line{animation:none!important;opacity:1!important;transform:none!important}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--surface);border-top:1px solid var(--border);padding:12px 20px;box-shadow:0 -4px 24px #0006;animation:slideUpBanner .3s ease}@keyframes slideUpBanner{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-banner-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.cookie-banner-text{flex:1;font-size:13px;color:var(--ink2);line-height:1.5;margin:0}.cookie-banner-actions{display:flex;gap:8px;flex-shrink:0}.chip.chip-clear{border-color:#f8514966;color:var(--red);background:#f851490f}.chip.chip-clear:hover{border-color:var(--red);background:#f851491a}.gh-stars-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#ffffff0a;border:1px solid var(--border2);border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font);color:var(--ink2);transition:color var(--ease),border-color var(--ease),background var(--ease),transform var(--ease);white-space:nowrap;text-decoration:none}.gh-stars-badge:hover{color:var(--ink);border-color:var(--accent);background:var(--accent-dim);transform:translateY(-1px)}.gh-stars-badge svg{color:#e3b341;flex-shrink:0}.gh-stars-count{display:inline-flex;align-items:center;padding:1px 7px;background:#ffffff12;border:1px solid var(--border2);border-radius:20px;font-size:11px;font-weight:600;font-family:var(--mono);color:var(--ink3);min-width:24px;justify-content:center}.gh-stars-count:empty{display:none}.nav-hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 10px;background:transparent;border:1px solid var(--border2);color:var(--ink2);border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--ease),border-color var(--ease),background var(--ease)}.nav-hamburger:hover{color:var(--ink);border-color:var(--border2);background:#ffffff0f}.nav-hamburger-bar{display:block;width:16px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}.nav-hamburger.open .nav-hamburger-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-hamburger.open .nav-hamburger-bar:nth-child(2){opacity:0}.nav-hamburger.open .nav-hamburger-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-drawer{position:fixed;top:58px;left:0;right:0;z-index:95;background:var(--bg2);border-bottom:1px solid var(--border2);box-shadow:0 8px 24px #00000080;transform:translateY(-110%);transition:transform .22s cubic-bezier(.4,0,.2,1);display:none}.nav-drawer.open{transform:translateY(0);display:block}.nav-drawer-links{display:flex;flex-direction:column;padding:8px 0}.nav-drawer-link{display:block;padding:14px 24px;font-size:15px;font-weight:500;color:var(--ink2);border-bottom:1px solid var(--border);transition:color var(--ease),background var(--ease)}.nav-drawer-link:last-child{border-bottom:none}.nav-drawer-link:hover{color:var(--ink);background:#ffffff0a}.nav-drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:94;background:#00000080}.nav-drawer-backdrop.open{display:block;animation:fade-in .15s ease}@media(max-width:860px){.nav-hamburger{display:flex}.nav-actions .btn-label{display:none}.auto-countdown{display:none!important}}@media(max-width:480px){.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .btn{width:100%;justify-content:center}.hero-stat .val{font-size:20px}.hero-stats{gap:16px}.hero-sub{font-size:14px}.hero:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:40px;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--bg))}}@media(max-width:360px){.hero-stats{gap:12px}}.mobile-filters.mask-right{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.mobile-filters.mask-left{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%);mask-image:linear-gradient(to right,transparent 0%,black 10%)}.mobile-filters.mask-both{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 85%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 8%,black 85%,transparent 100%)}@media(max-width:860px){.mobile-filters{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.chip{padding:8px 12px}}@media(max-width:860px){.search-input{font-size:16px}input,textarea,select{font-size:max(16px,1em)}}@media(max-width:600px){.toolbar-right{gap:12px;justify-content:flex-end}}@media(max-width:860px){.card-img-wrap{aspect-ratio:3 / 2}.card-link{padding:7px 12px;min-height:36px}}@media(max-width:640px){.card-snippet{-webkit-line-clamp:3}.card-featured{padding:12px 14px}.feed-grid .card-featured{grid-column:auto}}@media(max-width:380px){.card-img-wrap--list{width:64px;min-width:64px}}@media(max-width:480px){.settings-popover:before{content:"";display:block;width:32px;height:4px;background:var(--border2);border-radius:2px;margin:10px auto 4px;flex-shrink:0}.settings-popover{max-height:calc(100dvh - 58px - env(safe-area-inset-bottom,0px));max-height:calc(100vh - 58px - env(safe-area-inset-bottom,0px))}}@media(max-width:860px){.settings-opt{min-height:44px}}@keyframes slide-up-sheet-summary{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:640px){#summaryModal{align-items:flex-end}.summary-dialog{width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:80dvh;max-height:80vh;animation:slide-up-sheet-summary .22s ease;padding-bottom:env(safe-area-inset-bottom,0px)}.summary-dialog:before{content:"";display:block;width:32px;height:4px;background:var(--border2);border-radius:2px;margin:10px auto 0;flex-shrink:0}}@media(max-width:400px){.mpd-section{padding:10px 12px}}@media(max-width:600px){.mpd-source-list{max-height:180px}}@media(max-width:860px){.mpd-chip{min-height:36px;padding:6px 12px}}@media(max-width:480px){.cookie-banner{padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.cookie-banner-inner{flex-direction:column;align-items:stretch}.cookie-banner-actions{width:100%;flex-direction:column}.cookie-banner-actions .btn{width:100%;justify-content:center}}@media(max-width:600px){.footer-sources-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}}@media(max-width:480px){.footer-sources-list li{font-size:12px}}.site-footer{padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))}@media(max-width:860px){.back-to-top{width:44px;height:44px;bottom:calc(72px + var(--cookie-h, 0px) + env(safe-area-inset-bottom,0px))}}@media(max-width:600px){.contribute-section{padding:40px 0 48px}}@media(hover:none){.contribute-ways li:hover{transform:none}}@media(min-width:600px)and (max-width:860px){.contribute-title,.feedback-title{font-size:clamp(1.6rem,3.5vw,2.2rem)}}@media(max-width:860px){.mobile-filters,.mpd-body,.mpd-source-list,.summary-dialog__body{-webkit-overflow-scrolling:touch}}.my-pulse-drawer,.summary-dialog,.settings-popover{overscroll-behavior:contain}.top-nav{padding-top:env(safe-area-inset-top,0px)}.back-to-top,.bm-toast{bottom:calc(24px + var(--cookie-h, 0px) + env(safe-area-inset-bottom,0px))}@media(max-width:860px){.back-to-top{bottom:calc(72px + var(--cookie-h, 0px) + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-data:reduce){:root{--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: ui-monospace, "Cascadia Code", "Fira Mono", monospace}}.topics-strip{padding:8px 0 4px;border-bottom:1px solid var(--border, rgba(255,255,255,.07));overflow:hidden}.topics-strip-inner{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:4px 0}.topics-strip-label{font-family:var(--mono);font-size:11px;color:var(--ink3, #6e7681);margin-right:4px;white-space:nowrap}.topic-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;border:1px solid var(--border, rgba(255,255,255,.1));background:transparent;color:var(--ink2, #adbac7);font-family:var(--mono);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s,background .15s;text-decoration:none}.topic-chip:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}@media(max-width:860px){.topics-strip-inner{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.topics-strip-inner::-webkit-scrollbar{display:none}} diff --git a/dist/assets/index-DX2NWXSk.css b/dist/assets/index-DX2NWXSk.css deleted file mode 100644 index ade1841..0000000 --- a/dist/assets/index-DX2NWXSk.css +++ /dev/null @@ -1 +0,0 @@ -:root{--bg: #080B10;--bg2: #0D1117;--surface: #131920;--surface2: #1C2330;--ink: #E6EDF3;--ink2: #8B949E;--ink3: #7B8390;--border: #21262D;--border2: #30363D;--accent: #5B5EEA;--accent-h: #7577F0;--green: #3ECF8E;--red: #F85149;--yellow: #F5A623;--orange: #F97316;--purple: #BC8CFF;--cyan: var(--accent);--font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans: var(--font);--font-display: var(--font);--mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--ease: .18s cubic-bezier(.4, 0, .2, 1);--shadow: 0 1px 4px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.03);--shadow-lg: 0 8px 32px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.04);--shadow-xl: 0 20px 60px rgba(0,0,0,.7);--glow-accent: 0 0 20px rgba(91,94,234,.25);--paper: var(--bg);--panel: var(--surface);--green-l: var(--green);--pink: #E879F9;--cyan-glow: rgba(91,94,234,.15);--green-glow:rgba(62,207,142,.15);--glow-cyan: none;--glow-green:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6;min-height:100vh;overflow-x:hidden;max-width:100%;font-size:15px;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(91,94,234,.12) 0%,transparent 60%)}body:before{display:none}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.page-wrap{max-width:1200px;margin:0 auto;padding:0 24px;width:100%}.top-nav{position:sticky;top:0;z-index:100;background:#080b10d9;border-bottom:1px solid var(--border);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);max-width:100%}.top-nav.scrolled{background:#080b10f7;border-bottom-color:var(--border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:58px;gap:12px;min-width:0}.logo{display:flex;align-items:center;gap:9px;flex-shrink:0;min-width:0}.logo-mark{width:32px;height:32px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-h) 100%);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.5px;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #5b5eea66;transition:box-shadow var(--ease),transform var(--ease)}.logo:hover .logo-mark{box-shadow:0 4px 16px #5b5eea80;transform:scale(1.05)}.logo-name{font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}.logo-name .bracket,.logo-sub{display:none}.nav-links{display:none;align-items:center;gap:2px;flex:1;justify-content:center}@media(min-width:860px){.nav-links{display:flex}}.nav-link{font-size:13px;font-weight:500;color:var(--ink3);padding:5px 12px;border-radius:var(--radius-sm);transition:color var(--ease),background var(--ease)}.nav-link:hover{color:var(--ink);background:#ffffff0d}.nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;position:relative}.nav-prompt{display:none!important}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border2);font-size:13px;font-weight:500;font-family:var(--font);border-radius:var(--radius);transition:background var(--ease),border-color var(--ease),color var(--ease),box-shadow var(--ease),transform var(--ease);white-space:nowrap;letter-spacing:-.01em;position:relative;overflow:hidden}.btn:before{display:none}.btn:hover:not(:disabled){border-color:var(--border2);transform:translateY(-1px)}.btn:active:not(:disabled){opacity:.9;transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--accent) 0%,#7274F0 100%);color:#fff;border-color:transparent;box-shadow:0 2px 12px #5b5eea59}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-h) 0%,#8486F5 100%)!important;border-color:transparent!important;box-shadow:0 4px 20px #5b5eea80!important}.btn-ghost{background:#ffffff08;color:var(--ink2);border-color:var(--border2)}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:var(--border2);background:#ffffff12}.btn-sm{padding:5px 10px;font-size:12px;border-radius:var(--radius-sm)}.btn-lg{padding:11px 22px;font-size:14px;border-radius:var(--radius)}.btn:disabled{opacity:.35;cursor:not-allowed}.spin{animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.btn-paypal{background:linear-gradient(135deg,var(--accent) 0%,#7274F0 100%);color:#fff;border-color:transparent;justify-content:center;width:100%;padding:10px;font-size:13px;border-radius:var(--radius);box-shadow:0 2px 12px #5b5eea4d}.btn-paypal:hover{background:linear-gradient(135deg,var(--accent-h) 0%,#8486F5 100%)!important;border-color:transparent!important;box-shadow:0 4px 16px #5b5eea73!important}.auto-countdown{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--green);padding:2px 8px;border:1px solid rgba(62,207,142,.25);border-radius:var(--radius-sm);background:#3ecf8e0a}.settings-popover{position:absolute;z-index:500;background:var(--bg2);border:1px solid var(--border2);width:268px;box-shadow:var(--shadow-lg);display:none;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg)}.settings-popover.open{display:flex;animation:pop-in .15s ease}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-header{padding:10px 14px 8px;border-bottom:1px solid var(--border);background:var(--surface2)}.settings-title{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.settings-section{padding:12px 14px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border)}.settings-section:last-of-type{border-bottom:none}.settings-label{font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;font-family:var(--mono)}.settings-options{display:flex;gap:5px;flex-wrap:wrap}.settings-opt{padding:5px 10px;font-size:12px;font-weight:500;border:1px solid var(--border2);background:var(--surface);color:var(--ink2);cursor:pointer;border-radius:var(--radius-sm);transition:border-color var(--ease),color var(--ease);min-height:30px}.settings-opt:hover{border-color:#3a3a3a;color:var(--ink)}.settings-opt--danger{color:var(--red);border-color:#e5484d4d}.settings-opt--danger:hover{border-color:var(--red);background:#e5484d0f}.settings-opt.active{border-color:var(--accent);color:var(--accent);background:#5b5eea0f}.settings-footer{padding:8px 14px;background:var(--surface2);border-top:1px solid var(--border)}.settings-note{font-family:var(--mono);font-size:10px;color:var(--ink3)}.cache-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.cache-confirm-dialog{background:var(--bg2);border:1px solid var(--border2);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);padding:28px;max-width:340px;width:90%;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;animation:pop-in .15s ease}.cache-confirm-icon{color:var(--red);background:#e5484d14;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.cache-confirm-title{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.cache-confirm-desc{font-size:13px;color:var(--ink3);line-height:1.6}.cache-confirm-note{font-family:var(--mono);font-size:11px;color:var(--red);opacity:.8}.cache-confirm-actions{display:flex;gap:10px;margin-top:4px;width:100%;justify-content:center}.cache-confirm-delete{background:#e5484d14;border:1px solid rgba(229,72,77,.4);color:var(--red);font-weight:600;padding:7px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-family:var(--font);display:flex;align-items:center;transition:background var(--ease)}.cache-confirm-delete:hover{background:#e5484d29}.pp-modal-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#000000d9;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pp-modal-backdrop.open{display:flex}.pp-modal{background:var(--bg2);border:1px solid var(--border2);box-shadow:var(--shadow-lg);padding:32px 28px;width:300px;max-width:92vw;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;animation:modal-in .2s ease;border-radius:var(--radius-lg)}@keyframes modal-in{0%{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.pp-close{position:absolute;top:10px;right:10px;width:28px;height:28px;background:var(--surface2);border:1px solid var(--border2);color:var(--ink2);font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-sm);transition:color var(--ease),border-color var(--ease)}.pp-close:hover{color:var(--ink);border-color:#3a3a3a}.pp-icon{font-size:24px;color:var(--accent);font-family:var(--mono)}.pp-title{font-size:20px;font-weight:700;color:var(--ink);text-align:center;letter-spacing:-.02em}.pp-desc{font-size:13px;color:var(--ink2);text-align:center;line-height:1.6}.pp-qr-wrap{background:#fff;border:1px solid var(--border2);padding:8px;margin:8px 0;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.pp-qr{display:block}.pp-link{font-family:var(--mono);font-size:12px;color:var(--accent);text-decoration:underline}.pp-thanks{font-family:var(--mono);font-size:10px;color:var(--ink3);text-align:center}.hero{padding:72px 0 64px;display:block;border-bottom:1px solid var(--border);position:relative}@media(max-width:860px){.hero{padding:48px 0 44px}}.hero-right-col,.hero-terminal{display:none!important}.hero-content{display:flex;flex-direction:column;gap:20px;max-width:660px;position:relative;z-index:1}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;width:fit-content;background:#ffffff0a;border:1px solid var(--border);padding:5px 10px;border-radius:99px}.pulse{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0;animation:pulse-dot 2.5s ease-in-out infinite;box-shadow:0 0 6px #3ecf8e99}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.hero h1{font-family:var(--font);font-size:clamp(2.2rem,5.5vw,3.75rem);font-weight:800;letter-spacing:-.04em;line-height:1.08;color:var(--ink)}.hero h1 em{font-style:normal;background:linear-gradient(135deg,var(--accent) 0%,#9B9EFF 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:16px;color:var(--ink2);line-height:1.75;max-width:540px}.hero-tagline,.hero-trust{display:none!important}.hero-ctas{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px}.hero-stats{display:flex;gap:32px;flex-wrap:wrap;padding-top:28px;border-top:1px solid var(--border)}.hero-stat{display:flex;flex-direction:column;gap:3px;background:none;border:none;padding:0;min-width:unset;position:relative;overflow:visible;transition:none}.hero-stat:before,.hero-stat:after{display:none!important}.hero-stat:hover{border-color:transparent;box-shadow:none}.hero-stat .val{font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1}.hero-stat .lbl{font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.06em;font-weight:500;margin-top:2px}.section-heading{font-size:14px;font-weight:700;color:var(--ink2);padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:4px;letter-spacing:.04em;text-transform:uppercase}.signal-section{padding:64px 0 56px;border-top:1px solid var(--border)}.signal-header{text-align:center;margin-bottom:40px}.signal-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:12px}.signal-title{font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:800;letter-spacing:-.03em;color:var(--ink);margin:0}.signal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.signal-card{background:var(--surface);border:1px solid var(--border);padding:24px 22px;border-radius:var(--radius-lg);transition:background var(--ease),border-color var(--ease),box-shadow var(--ease),transform var(--ease);position:relative;overflow:hidden}.signal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);opacity:0;transition:opacity var(--ease)}.signal-card:hover{background:var(--surface2);border-color:var(--border2);box-shadow:var(--shadow);transform:translateY(-2px)}.signal-card:hover:before{opacity:1}.signal-icon{color:var(--accent);margin-bottom:14px;opacity:.85}.signal-card-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em}.signal-card-desc{font-size:13px;color:var(--ink3);line-height:1.65}.app-layout{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:36px 0 80px}@media(max-width:960px){.app-layout{grid-template-columns:190px 1fr;gap:20px}}@media(max-width:860px){.app-layout{grid-template-columns:1fr;gap:0}.sidebar{display:none}.mobile-filters{display:flex!important}.signal-section{display:none}}.sidebar{position:sticky;top:66px;align-self:start;display:flex;flex-direction:column;gap:24px}@media(max-width:860px){.sidebar{display:none!important}}.sidebar-section{display:flex;flex-direction:column;gap:6px}.sidebar-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:0 0 8px;border-bottom:1px solid var(--border);margin-bottom:2px;font-family:var(--mono)}.filter-nav{display:flex;flex-direction:column;gap:1px}.filter-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--ink3);transition:color var(--ease),background var(--ease),border-color var(--ease);cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;min-height:36px}.filter-item:hover{color:var(--ink);background:#ffffff0a}.filter-item.active{color:var(--ink);background:#5b5eea14;border-color:#5b5eea40}.fi-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:14px}.fi-label{flex:1;font-size:13px;font-weight:500}.fi-count{font-family:var(--mono);font-size:10px;padding:1px 5px;font-weight:600;background:var(--surface2);color:var(--ink3);border:1px solid var(--border);border-radius:4px}.filter-item.active .fi-count{color:var(--accent);border-color:#5b5eea4d;background:#5b5eea14}.sidebar-card{background:var(--surface);border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:10px;border-radius:var(--radius-lg)}.sidebar-card-title{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.sidebar-card p{font-size:12px;color:var(--ink2);line-height:1.65}.sidebar-quote{font-family:var(--mono);font-size:11px;color:var(--ink3);line-height:1.85;padding:12px 14px;border-left:2px solid var(--accent);background:#5b5eea0a;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.q-mark{color:var(--ink2)}.mobile-filters{display:none;gap:6px;padding:16px 0 8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;max-width:100%}.mobile-filters::-webkit-scrollbar{display:none}.chip{padding:6px 14px;font-size:12px;font-weight:500;border:1px solid var(--border);background:#ffffff08;color:var(--ink3);transition:border-color var(--ease),color var(--ease),background var(--ease);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;border-radius:99px;min-height:32px;font-family:var(--font)}.chip:hover{border-color:var(--border2);color:var(--ink2);background:#ffffff0f}.chip.active{border-color:#5b5eea80;color:var(--accent);background:#5b5eea1a;box-shadow:0 0 0 1px #5b5eea26}.content{min-width:0;display:flex;flex-direction:column;gap:14px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:10px}.toolbar-status{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink3);font-family:var(--font)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.live{background:var(--green);animation:pulse-dot 2.5s ease-in-out infinite}.status-dot.loading{background:var(--yellow);animation:pulse-dot .8s ease-in-out infinite}.status-dot.err{background:var(--red)}.article-count{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--green);padding:2px 7px;background:#3ecf8e0d;border:1px solid rgba(62,207,142,.2);border-radius:3px}.article-count strong{color:var(--green)}.view-toggle{display:flex;gap:3px}.view-btn{padding:5px 9px;border:1px solid var(--border);background:transparent;color:var(--ink3);display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--ease),color var(--ease),background var(--ease);border-radius:var(--radius-sm);min-width:32px;min-height:32px}.view-btn:hover{border-color:var(--border2);color:var(--ink2);background:#ffffff0a}.view-btn.active{border-color:var(--border2);color:var(--ink);background:var(--surface2)}.error-banner{display:none;align-items:flex-start;gap:8px;padding:10px 14px;background:#e5484d0f;border:1px solid rgba(229,72,77,.3);color:var(--red);font-size:13px;font-weight:500;border-radius:var(--radius-sm)}.error-banner.visible{display:flex}.e-icon{flex-shrink:0}.feed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feed-grid .card-featured{grid-column:1 / -1}@media(min-width:1060px){.feed-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.feed-grid{grid-template-columns:1fr;gap:12px}}.feed-grid.list-view{grid-template-columns:1fr}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--surface);border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;border-radius:var(--radius-lg);will-change:transform;animation:card-in .18s ease both;animation-delay:calc(var(--i, 0) * 15ms);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--card-accent, var(--border));border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:2;transition:opacity .2s ease}.card:after{display:none}.card:hover{border-color:var(--border2);background:var(--surface2);transform:translateY(-2px);box-shadow:var(--shadow);z-index:auto}.card:hover:before{opacity:1}.card-featured{padding:24px 26px}.card-featured .card-title{font-size:17px;line-height:1.35}.card-row{flex-direction:row;align-items:flex-start;gap:14px}.card-row .card-num{padding-top:2px;flex-shrink:0}.card-row .card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.card-row .card-link{flex-shrink:0;align-self:center}.card-row .card-footer{display:none}.card-img-wrap{display:block;overflow:hidden;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin:-14px -14px 10px;aspect-ratio:16 / 9;background:var(--surface2);flex-shrink:0}.card-img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .3s ease}.card:hover .card-img{transform:scale(1.02)}.card-img-wrap--list{margin:0;border-radius:var(--radius-sm);width:80px;min-width:80px;aspect-ratio:4 / 3;align-self:flex-start;flex-shrink:0}.card-img--list{border-radius:var(--radius-sm)}.card-row{display:flex;align-items:flex-start;gap:12px}.card-num{font-family:var(--mono);font-size:16px;color:var(--border2);flex-shrink:0;line-height:1;font-weight:700}.card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;overflow:hidden}.card-cat{display:inline-flex;align-items:center;padding:2px 7px;font-family:var(--mono);font-size:9px;letter-spacing:.4px;text-transform:uppercase;border:1px solid;flex-shrink:0;line-height:1.6;font-weight:700;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:3px}.card-cat-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.85}.card-date{font-family:var(--mono);font-size:10px;color:var(--ink3);white-space:nowrap;margin-left:auto;flex-shrink:0}.card-title{font-size:14px;font-weight:600;color:var(--ink);line-height:1.5;margin:0;letter-spacing:-.015em;font-family:var(--font)}.card-title a{color:inherit;transition:color var(--ease)}.card-title a:hover{color:var(--accent)}.card-snippet{font-size:13px;color:var(--ink3);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font)}.card-featured .card-snippet{-webkit-line-clamp:3}.card-snippet--sm{-webkit-line-clamp:1;font-size:12px}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border);gap:8px;margin-top:auto}.card-source{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;color:var(--ink3);min-width:0;font-weight:600}.card-source span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.src-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.card-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:500;color:var(--ink3);font-family:var(--font);border:1px solid var(--border);background:transparent;transition:border-color var(--ease),color var(--ease),background var(--ease);white-space:nowrap;flex-shrink:0;border-radius:var(--radius-sm)}.card-link:hover{border-color:var(--border2);color:var(--ink2);background:#ffffff0a;box-shadow:none}.card.cat-general{--card-accent: rgba(100,100,100,.6)}.card.cat-security{--card-accent: #F85149}.card.cat-ai{--card-accent: #BC8CFF}.card.cat-python{--card-accent: #3B82F6}.card.cat-javascript{--card-accent: #FBBF24}.card.cat-devops{--card-accent: #5B5EEA}.card.cat-open-source{--card-accent: #3ECF8E}.card.cat-java{--card-accent: #F97316}.card.cat-rust{--card-accent: #CE422B}.card.cat-go{--card-accent: #00ACD7}.card.cat-architecture{--card-accent: #2DD4BF}.cat-general{color:#8b949e;border-color:#64646466;background:#64646412}.cat-security{color:#f85149;border-color:#f8514966;background:#f8514914}.cat-ai{color:#bc8cff;border-color:#bc8cff66;background:#bc8cff14}.cat-python{color:#3b82f6;border-color:#3b82f666;background:#3b82f614}.cat-javascript{color:#fbbf24;border-color:#fbbf2466;background:#fbbf2414}.cat-devops{color:#818cf8;border-color:#818cf866;background:#5b5eea14}.cat-open-source{color:#3ecf8e;border-color:#3ecf8e66;background:#3ecf8e14}.cat-java{color:#f97316;border-color:#f9731666;background:#f9731614}.cat-rust{color:#ce422b;border-color:#ce422b66;background:#ce422b14}.cat-go{color:#00acd7;border-color:#00acd766;background:#00acd714}.cat-architecture{color:#2dd4bf;border-color:#2dd4bf66;background:#2dd4bf14}.src-dot.cat-general{background:#555}.src-dot.cat-security{background:#e5484d}.src-dot.cat-ai{background:#a855f7}.src-dot.cat-python{background:#3b82f6}.src-dot.cat-javascript{background:#fbbf24}.src-dot.cat-devops{background:#5b5eea}.src-dot.cat-open-source{background:#3ecf8e}.src-dot.cat-java{background:#f97316}.src-dot.cat-rust{background:#ce422b}.src-dot.cat-go{background:#00acd7}.src-dot.cat-architecture{background:#2dd4bf}.feed-filtered .card.cat-security .card-link{border-color:#e5484d;color:#e5484d}.feed-filtered .card.cat-ai .card-link{border-color:#a855f7;color:#a855f7}.feed-filtered .card.cat-python .card-link{border-color:#3b82f6;color:#3b82f6}.feed-filtered .card.cat-javascript .card-link{border-color:#fbbf24;color:#fbbf24}.feed-filtered .card.cat-devops .card-link{border-color:#5b5eea;color:#5b5eea}.feed-filtered .card.cat-open-source .card-link{border-color:#3ecf8e;color:#3ecf8e}.feed-filtered .card.cat-java .card-link{border-color:#f97316;color:#f97316}.feed-filtered .card.cat-rust .card-link{border-color:#ce422b;color:#ce422b}.feed-filtered .card.cat-go .card-link{border-color:#00acd7;color:#00acd7}@keyframes ph-grid-drift{0%{background-position:0 0}to{background-position:18px 18px}}@keyframes ph-scan{0%{top:-20%;opacity:0}10%{opacity:.4}90%{opacity:.2}to{top:110%;opacity:0}}@keyframes ph-tag-blink{0%,90%,to{opacity:.5}95%{opacity:.1}}@keyframes ph-glow-soft{0%,to{opacity:.4}50%{opacity:.65}}@keyframes ph-general-type{0%,to{transform:translate(-50%,-50%)}10%{transform:translate(calc(-50% + 2px),-50%)}30%{transform:translate(calc(-50% - 2px),-50%)}}@keyframes ph-security-ring{0%{transform:translate(-50%,-50%) scale(.8);opacity:.6}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}@keyframes ph-security-icon{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.06)}}@keyframes ph-ai-orbit{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ph-ai-icon{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08)}}@keyframes ph-python-slither{0%,to{transform:translate(-50%,-50%) rotate(-4deg)}50%{transform:translate(-50%,-50%) rotate(4deg)}}@keyframes ph-js-zap{0%,to{transform:translate(-50%,-50%)}15%{transform:translate(-50%,calc(-50% - 6px)) scale(1.1)}30%{transform:translate(-50%,-50%) scale(.97)}}@keyframes ph-devops-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ph-os-float{0%,to{transform:translate(-50%,-50%) rotate(-3deg)}50%{transform:translate(-50%,-50%) rotate(3deg) translateY(-2px)}}@keyframes ph-java-steam{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 6px))}}@keyframes ph-rust-ratchet{0%{transform:translate(-50%,-50%) rotate(0)}20%{transform:translate(-50%,-50%) rotate(25deg)}40%{transform:translate(-50%,-50%) rotate(22deg)}60%{transform:translate(-50%,-50%) rotate(50deg)}80%{transform:translate(-50%,-50%) rotate(47deg)}to{transform:translate(-50%,-50%) rotate(72deg)}}@keyframes ph-go-run{0%,to{transform:translate(-50%,-50%)}20%{transform:translate(calc(-50% + 5px),calc(-50% - 4px))}40%{transform:translate(calc(-50% + 8px),-50%)}60%{transform:translate(calc(-50% + 5px),calc(-50% - 4px))}80%{transform:translate(-50%,-50%)}}.card-placeholder{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;text-decoration:none;background:var(--surface2);border-bottom:1px solid var(--border)}.card-placeholder:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ph-color),transparent);animation:ph-scan 4s ease-in-out infinite;pointer-events:none;z-index:2;opacity:.25}.card-placeholder__grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--ph-color) 1px,transparent 1px);background-size:18px 18px;opacity:.07;animation:ph-grid-drift 6s linear infinite}.card-placeholder__icon{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;color:var(--ph-color);animation:ph-glow-soft 3s ease-in-out infinite}.card-placeholder__tag{position:absolute;z-index:1;bottom:8px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.4px;color:var(--ph-color);opacity:.4;animation:ph-tag-blink 4s step-end infinite}.card-placeholder[data-ph-cat=General] .card-placeholder__icon{animation:ph-general-type 1.4s steps(1) infinite}.card-placeholder[data-ph-cat=Security] .card-placeholder__icon{animation:ph-security-icon 2s ease-in-out infinite}.card-placeholder[data-ph-cat=AI] .card-placeholder__icon{animation:ph-ai-icon 2.5s ease-in-out infinite}.card-placeholder[data-ph-cat=Python] .card-placeholder__icon{animation:ph-python-slither 2.4s ease-in-out infinite}.card-placeholder[data-ph-cat=JavaScript] .card-placeholder__icon{animation:ph-js-zap 1.8s ease-in-out infinite}.card-placeholder[data-ph-cat=DevOps] .card-placeholder__icon{animation:ph-devops-spin 6s linear infinite}.card-placeholder[data-ph-cat="Open Source"] .card-placeholder__icon{animation:ph-os-float 3s ease-in-out infinite}.card-placeholder[data-ph-cat=Java] .card-placeholder__icon{animation:ph-java-steam 2s ease-in-out infinite}.card-placeholder[data-ph-cat=Rust] .card-placeholder__icon{animation:ph-rust-ratchet 2s steps(5,end) infinite}.card-placeholder[data-ph-cat=Go] .card-placeholder__icon{animation:ph-go-run 2s ease-in-out infinite}.card-placeholder[data-ph-cat=Security]:before{content:"";position:absolute;z-index:0;top:50%;left:50%;width:44px;height:44px;border-radius:50%;border:1px solid var(--ph-color);opacity:0;animation:ph-security-ring 2.5s ease-out infinite}.card-placeholder[data-ph-cat=AI]:before{content:"";position:absolute;z-index:0;top:50%;left:50%;width:68px;height:68px;border-radius:50%;border:1px dashed var(--ph-color);opacity:.18;animation:ph-ai-orbit 5s linear infinite}.card-placeholder--list{display:inline-flex;flex-direction:column;border-bottom:none;border:1px solid var(--border);border-radius:var(--radius-sm)}.card-placeholder--list:after{display:none}.card-placeholder--list:before{display:none}.card-placeholder--list .card-placeholder__tag{display:none}.skeleton-card{background:var(--surface);border:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:10px;border-radius:var(--radius-lg)}.sk{background:linear-gradient(90deg,var(--surface2) 25%,rgba(255,255,255,.04) 50%,var(--surface2) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-chip{height:14px;width:56px}.sk-h1{height:12px;width:100%}.sk-h2{height:12px;width:70%}.sk-t1{height:10px;width:100%}.sk-t2{height:10px;width:80%}.sk-t3{height:10px;width:55%}.sk-foot{height:22px;width:100%}.empty-state{display:none;flex-direction:column;align-items:center;text-align:center;padding:64px 24px;grid-column:1/-1}.empty-state.visible{display:flex}.empty-art{font-family:var(--mono);font-size:12px;color:var(--ink3);margin-bottom:16px;white-space:pre;border:1px solid var(--border);padding:14px 20px;background:var(--surface);border-radius:var(--radius)}.empty-title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-.01em}.empty-sub{font-family:var(--mono);font-size:11px;color:var(--ink3)}.support-strip{background:linear-gradient(135deg,var(--surface) 0%,rgba(91,94,234,.05) 100%);border:1px solid var(--border);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:48px;border-radius:var(--radius-lg);position:relative;overflow:hidden}.support-strip:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(91,94,234,.5),transparent)}@media(max-width:600px){.support-strip{flex-direction:column;text-align:center;padding:20px}.support-strip .btn{display:flex;width:100%;justify-content:center;white-space:normal;box-sizing:border-box}}.support-text{display:flex;flex-direction:column;gap:4px}.support-title{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.02em}.support-desc{font-size:13px;color:var(--ink2);line-height:1.6;max-width:460px}.site-footer{border-top:1px solid var(--border);padding:36px 0;background:var(--bg2)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-left{display:flex;flex-direction:column;gap:4px}.footer-tagline{font-size:12px;color:var(--ink3);font-weight:500}.footer-copy{font-size:11px;color:var(--ink3);font-family:var(--mono)}.site-version-badge{color:var(--ink3);text-decoration:none;border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-size:.7rem;font-family:var(--mono);transition:color .15s,border-color .15s}.site-version-badge:hover{color:var(--ink2);border-color:var(--border2)}.footer-sources{border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:20px}.footer-sources-title{font-family:var(--mono);font-size:10px;color:var(--ink3);font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}.footer-sources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.footer-sources-list li{font-family:var(--mono);font-size:11px;color:var(--ink3);line-height:1.6;word-break:break-word;overflow-wrap:break-word}.footer-sources-list a{color:var(--ink3);text-decoration:none}.footer-sources-list a:hover{color:var(--ink2);text-decoration:underline}.feedback-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 0 80px;position:relative;overflow:hidden}.feedback-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(91,94,234,.4),transparent)}.feedback-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:36px}.feedback-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase;background:none;border:none;padding:0}.feedback-title{font-size:clamp(1.8rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.feedback-title em{font-style:normal;background:linear-gradient(135deg,var(--accent) 0%,#9B9EFF 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.feedback-desc{font-size:14px;color:var(--ink2);line-height:1.75;max-width:520px;border-left:2px solid var(--border2);padding-left:16px;text-align:left;background:none;border-radius:0}.feedback-desc .comment{color:var(--ink3);font-style:italic;font-family:var(--mono);font-size:12px}.feedback-desc .keyword{color:var(--accent);font-family:var(--mono)}.feedback-desc .fn{color:var(--ink2);font-family:var(--mono)}.feedback-desc .string{color:var(--green);font-family:var(--mono)}.feedback-terminal,.feedback-term-body,.feedback-git-log,.git-line{display:none!important}.feedback-divider{display:none}.giscus-wrap iframe{border-radius:0!important}@media(max-width:600px){.feedback-section{padding:40px 0 48px}}.about-art{display:flex;align-items:center;justify-content:center;position:relative;min-height:300px}.about-network-svg{width:100%;max-width:420px;height:auto;filter:drop-shadow(0 0 24px rgba(91,94,234,.18))}@media(max-width:860px){.about-art{display:none}}.contribute-art-wrap{display:flex;align-items:center;justify-content:center;height:100%;min-height:320px}.contribute-art-svg{width:100%;max-width:400px;height:auto;filter:drop-shadow(0 0 20px rgba(6,182,212,.12))}.feedback-art-col{display:flex;align-items:center;justify-content:center;min-width:0}.feedback-art-svg{width:100%;max-width:400px;height:auto;filter:drop-shadow(0 0 20px rgba(91,94,234,.14))}@media(max-width:860px){.feedback-art-col{display:none!important}}.feedback-section .contribute-title em{font-style:normal;background:linear-gradient(135deg,var(--accent) 0%,#9B9EFF 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contribute-section{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 0 80px;position:relative;overflow:hidden}.contribute-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(91,94,234,.4),transparent)}.contribute-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}@media(max-width:860px){.contribute-inner{grid-template-columns:1fr;gap:28px}.contribute-terminal-wrap{display:none!important}}.contribute-copy{display:flex;flex-direction:column;gap:18px}.contribute-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase;width:fit-content;background:none;border:none;padding:0}.contribute-title{font-size:clamp(1.8rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink)}.contribute-title em{font-style:normal;background:linear-gradient(135deg,var(--accent) 0%,#9B9EFF 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contribute-desc{font-size:14px;color:var(--ink2);line-height:1.7;max-width:460px}.contribute-ways{list-style:none;display:flex;flex-direction:column;gap:8px}.contribute-ways li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink2);padding:9px 14px;border:1px solid var(--border);background:#ffffff05;border-radius:var(--radius-sm);transition:border-color var(--ease),color var(--ease),background var(--ease),transform var(--ease)}.contribute-ways li svg{color:var(--ink3);flex-shrink:0}.contribute-ways li:hover{border-color:var(--border2);color:var(--ink);background:#ffffff0d;transform:translate(3px);box-shadow:none}.contribute-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.contribute-terminal-wrap{min-width:0}.hero-terminal,.feedback-terminal{background:var(--surface2);border:1px solid var(--border);overflow:hidden;font-family:var(--mono);font-size:12px;max-width:100%;border-radius:var(--radius-lg);box-shadow:none}.term-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface2);border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.term-dot{width:10px;height:10px;border-radius:50%}.term-dot.red,.term-dot.yellow,.term-dot.green{background:#3a3a3a}.term-title{flex:1;text-align:center;font-size:11px;color:var(--ink3);font-weight:600}.term-body{padding:16px 18px;line-height:2;min-height:200px}.term-line{display:flex;gap:8px;opacity:0;animation:fadein .2s ease-out forwards}.term-line:nth-child(1){animation-delay:.2s}.term-line:nth-child(2){animation-delay:.4s}.term-line:nth-child(3){animation-delay:.6s}.term-line:nth-child(4){animation-delay:.76s}.term-line:nth-child(5){animation-delay:.9s}.term-line:nth-child(6){animation-delay:1.04s}.term-line:nth-child(7){animation-delay:1.16s}.term-line:nth-child(8){animation-delay:1.28s}.term-line:nth-child(9){animation-delay:1.4s}@keyframes fadein{to{opacity:1}}.term-line .prompt{color:var(--green);flex-shrink:0}.term-line .cmd{color:var(--ink)}.term-line .arg{color:var(--accent)}.term-line .flag,.term-line .out{color:var(--ink2)}.term-line .ok{color:var(--green)}.term-line .warn{color:var(--yellow)}.term-line .cmt{color:var(--ink3);font-style:italic}.term-cursor{display:inline-block;width:7px;height:13px;background:var(--green);vertical-align:middle;animation:blink 1s step-end infinite;margin-left:3px;border-radius:1px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.back-to-top{position:fixed;bottom:calc(24px + var(--cookie-h, 0px));right:24px;z-index:200;width:40px;height:40px;background:var(--surface2);border:1px solid var(--border);color:var(--ink2);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;border-radius:var(--radius);box-shadow:var(--shadow)}.back-to-top.visible{opacity:1;pointer-events:auto}.back-to-top:hover{border-color:var(--border2);color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.bm-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--ink3);cursor:pointer;transition:color var(--ease),border-color var(--ease);margin-left:auto;padding:0;border-radius:var(--radius-sm)}.bm-btn:hover{color:var(--ink2);border-color:var(--border2);background:#ffffff0d;box-shadow:none}.bm-btn.bm-active{color:var(--accent);border-color:#5b5eea80;background:#5b5eea1a;box-shadow:0 0 0 1px #5b5eea26}.bm-toast{position:fixed;bottom:calc(24px + var(--cookie-h, 0px));left:50%;transform:translate(-50%) translateY(10px);background:var(--surface2);border:1px solid var(--border2);color:var(--ink2);font-family:var(--mono);font-size:12px;font-weight:600;padding:8px 18px;z-index:9999;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap;border-radius:var(--radius)}.bm-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.card.cat-bookmarks{--card-accent: #E879F9}.cat-bookmarks{color:#e879f9;border-color:#e879f9;background:#e879f914}.src-dot.cat-bookmarks{background:#e879f9}:focus-visible{outline:2px solid rgba(91,94,234,.8);outline-offset:3px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:12px;top:12px;z-index:10000;padding:7px 14px;background:var(--accent);color:#fff;font-weight:700;font-size:13px;border-radius:var(--radius-sm);text-decoration:none;transform:translateY(-200%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.search-bar-wrap{padding-bottom:4px}.search-bar{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);padding:8px 14px;transition:border-color var(--ease),box-shadow var(--ease);border-radius:var(--radius)}.search-bar:focus-within{border-color:#5b5eea80;box-shadow:0 0 0 3px #5b5eea1f}.search-icon{flex-shrink:0;color:var(--ink3)}.search-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font);font-size:13px;color:var(--ink);min-width:0}.search-input::placeholder{color:var(--ink3)}.search-kbd{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--ink3);background:var(--surface2);border:1px solid var(--border);padding:1px 5px;flex-shrink:0;border-radius:4px}.card-read-time{font-family:var(--mono);font-size:9px;color:var(--ink3);margin-left:8px;white-space:nowrap}.card-actions{display:flex;align-items:center;gap:6px}.card-share-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--ink3);cursor:pointer;transition:color var(--ease),border-color var(--ease);padding:0;border-radius:var(--radius-sm)}.card-share-btn:hover{color:var(--ink2);border-color:var(--border2);box-shadow:none}.card-summary-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:1px solid var(--border);color:var(--purple);cursor:pointer;transition:color var(--ease),border-color var(--ease),background var(--ease);padding:0;border-radius:var(--radius-sm)}.card-summary-btn:hover{color:var(--purple);border-color:#bc8cff80;background:#bc8cff14;box-shadow:none}.card-summary-btn--snippet{color:var(--teal, #2DD4BF)}.card-summary-btn--snippet:hover{color:var(--teal, #2DD4BF);border-color:#2dd4bf4d;background:#2dd4bf14}#summaryModal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;align-items:center;justify-content:center}#summaryModal.open{display:flex}.summary-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .15s ease}.summary-dialog{position:relative;z-index:1;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:min(540px,92vw);max-height:88vh;display:flex;flex-direction:column;animation:pop-in .18s ease;overflow:hidden}.summary-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0}.summary-ai-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--purple);background:#bc8cff1a;border:1px solid rgba(188,140,255,.3);padding:3px 8px;border-radius:99px}.summary-ai-badge--snippet{color:var(--teal, #2DD4BF);background:#2dd4bf14;border-color:#2dd4bf4d}.summary-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border2);background:var(--surface);color:var(--ink2);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--ease),border-color var(--ease);flex-shrink:0}.summary-close:hover{color:var(--ink);border-color:var(--border2)}.summary-dialog__title{font-size:15px;font-weight:600;color:var(--ink);line-height:1.4;letter-spacing:-.01em;padding:16px 18px 10px;flex-shrink:0}.summary-dialog__body{padding:0 18px 16px;flex:1;overflow-y:auto;min-height:60px}.summary-text{font-size:14px;color:var(--ink2);line-height:1.75;margin:0}.summary-error{font-family:var(--mono);font-size:11px;color:var(--yellow);line-height:1.6;background:#f5a6230f;border:1px solid rgba(245,166,35,.2);padding:10px 12px;border-radius:var(--radius-sm);margin:0}.summary-loading{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--ink3);padding:8px 0}.summary-spinner{width:14px;height:14px;border:2px solid var(--border2);border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.summary-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 18px 14px;border-top:1px solid var(--border);flex-shrink:0}.summary-source{font-family:var(--mono);font-size:10px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.newsletter-section{background:linear-gradient(135deg,var(--surface) 0%,rgba(91,94,234,.04) 100%);border:1px solid var(--border);padding:44px 40px;margin-bottom:40px;border-radius:var(--radius-lg);position:relative;overflow:hidden}.newsletter-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(91,94,234,.4),transparent)}.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}@media(max-width:800px){.newsletter-inner{grid-template-columns:1fr;gap:28px}}@media(max-width:600px){.newsletter-section{padding:28px 18px}}.newsletter-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;width:fit-content;background:none;border:none;padding:0}.newsletter-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--ink);margin-bottom:12px}.newsletter-title em{font-style:normal;background:linear-gradient(135deg,var(--accent) 0%,#9B9EFF 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.newsletter-desc{font-size:14px;color:var(--ink2);line-height:1.7;margin-bottom:16px}.newsletter-bullets{list-style:none;display:flex;flex-direction:column;gap:7px}.newsletter-bullets li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2)}.newsletter-bullets li svg{color:var(--green);flex-shrink:0}.newsletter-form{display:flex;flex-direction:column;gap:10px}.newsletter-field-wrap{display:flex;gap:0;overflow:hidden;border-radius:var(--radius)}.newsletter-input{flex:1;background:var(--bg);border:1px solid var(--border2);border-right:none;padding:11px 14px;font-family:var(--font);font-size:14px;color:var(--ink);outline:none;border-radius:var(--radius) 0 0 var(--radius);transition:border-color var(--ease)}.newsletter-input::placeholder{color:var(--ink3)}.newsletter-input:focus{border-color:#5b5eea80;box-shadow:0 0 0 3px #5b5eea1f}.newsletter-btn{border-radius:0 var(--radius) var(--radius) 0;padding:11px 18px;font-size:13px;white-space:nowrap;gap:7px}.newsletter-fine{font-family:var(--mono);font-size:10px;color:var(--ink3)}.newsletter-msg{font-family:var(--mono);font-size:12px;padding:7px 10px;border-radius:var(--radius-sm)}.newsletter-msg--ok{color:var(--green);background:#3ecf8e0f;border:1px solid rgba(62,207,142,.25)}.newsletter-msg--err{color:var(--red);background:#e5484d0f;border:1px solid var(--red)}.footer-shortcuts{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:var(--ink3);margin:4px 0}.footer-kbd-label{color:var(--ink3);margin-right:4px}.footer-kbd{background:var(--surface2);border:1px solid var(--border);color:var(--ink3);font-family:var(--mono);font-size:9px;font-weight:700;padding:1px 4px;border-radius:2px;vertical-align:middle}.my-pulse-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:490;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none}.my-pulse-backdrop.open{display:block;animation:fade-in .15s ease}.my-pulse-drawer{position:fixed;top:0;right:0;bottom:0;z-index:500;width:min(400px,100vw);background:var(--bg2);border-left:1px solid var(--border);box-shadow:-4px 0 32px #00000080;display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}.my-pulse-drawer.open{transform:translate(0)}.mpd-header{padding:14px 16px 12px;border-bottom:1px solid var(--border);background:var(--surface2);display:flex;flex-direction:column;gap:4px;flex-shrink:0}.mpd-title{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.mpd-subtitle{font-family:var(--mono);font-size:11px;color:var(--ink3)}.mpd-close{background:none;border:none;color:var(--ink3);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:var(--radius-sm);transition:color var(--ease),background var(--ease);line-height:1}.mpd-close:hover{color:var(--ink);background:var(--surface)}.mpd-body{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.mpd-body::-webkit-scrollbar{width:4px}.mpd-body::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.mpd-footer{padding:10px 14px;border-top:1px solid var(--border);background:var(--surface2);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.mpd-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--ink2);-webkit-user-select:none;user-select:none;padding:4px 0}.mpd-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.mpd-toggle-track{width:32px;height:18px;border-radius:9px;flex-shrink:0;background:var(--surface);border:1px solid var(--border2);position:relative;transition:background var(--ease),border-color var(--ease)}.mpd-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--ink3);transition:transform var(--ease),background var(--ease)}.mpd-toggle input:checked~.mpd-toggle-track{background:#5b5eea1f;border-color:var(--accent)}.mpd-toggle input:checked~.mpd-toggle-track:after{transform:translate(14px);background:var(--accent)}.mpd-toggle-label{flex:1;line-height:1.4}.mpd-toggle input:focus-visible~.mpd-toggle-track{outline:2px solid var(--accent);outline-offset:2px}.mpd-chip-group{display:flex;flex-wrap:wrap;gap:5px}.mpd-chip{padding:4px 9px;font-size:12px;font-weight:500;border:1px solid var(--chip-color, var(--border2));background:#0003;color:var(--chip-color, var(--ink2));cursor:pointer;border-radius:20px;display:inline-flex;align-items:center;transition:opacity var(--ease),filter var(--ease)}.mpd-chip--muted{border-color:var(--border);color:var(--ink3);background:transparent;opacity:.4;text-decoration:line-through;filter:grayscale(.7)}.mpd-chip:hover{opacity:1!important;filter:none!important}.mpd-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mpd-source-list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border2) transparent}.mpd-source-list::-webkit-scrollbar{width:4px}.mpd-source-list::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.mpd-source{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;background:none;width:100%;text-align:left;font-family:var(--font);font-size:13px;color:var(--ink2);transition:background var(--ease),border-color var(--ease)}.mpd-source:hover{background:var(--surface);border-color:var(--border)}.mpd-source--muted{opacity:.45;text-decoration:line-through;color:var(--ink3)}.mpd-section{padding:14px 16px;border-bottom:1px solid var(--border)}.mpd-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin-bottom:8px;font-family:var(--mono)}.stale-cache-bar{display:none;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--yellow);background:#f5a6230f;border:1px solid rgba(245,166,35,.2);border-radius:var(--radius-sm);padding:6px 12px;margin-bottom:10px}.stale-cache-bar.visible{display:flex}.stale-cache-bar__refresh{background:none;border:none;cursor:pointer;color:var(--accent);font-family:var(--mono);font-size:11px;padding:0;text-decoration:underline}.stale-cache-bar__refresh:hover{opacity:.8}.feed-health-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:11px;color:var(--ink3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;margin-bottom:12px}.fhb-info{flex:1 1 auto}.fhb-details summary{cursor:pointer;color:var(--yellow);list-style:none}.fhb-details summary::-webkit-details-marker{display:none}.fhb-details ul{margin:6px 0 0 12px;padding:0;list-style:disc;color:var(--red)}#seoLatestFallback{margin-top:20px}#seoLatestFallback h2{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:14px;letter-spacing:-.01em}.seo-articles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(min-width:1060px){.seo-articles-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.seo-articles-grid{grid-template-columns:1fr;gap:12px}}.seo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:border-color .2s ease,background .2s ease}.seo-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:2}.seo-card:hover{border-color:var(--border2);background:var(--surface2);transform:none;box-shadow:none}.seo-card:hover:before{height:2px;background:var(--border2)}.seo-card-img-wrap{display:block;overflow:hidden;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin:-14px -16px 4px;aspect-ratio:16 / 9;background:var(--surface2);flex-shrink:0}.seo-card-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.seo-card h3{font-size:14px;font-weight:600;color:var(--ink);line-height:1.5;margin:0;letter-spacing:-.01em;font-family:var(--font)}.seo-card h3 a{color:inherit;text-decoration:none;transition:color .15s ease}.seo-card h3 a:hover{color:var(--accent)}.seo-card p{font-size:13px;color:var(--ink3);line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.seo-card small{font-family:var(--mono);font-size:10px;color:var(--ink3);margin-top:auto}.seo-card-summary{display:flex;flex-direction:column;gap:4px}.seo-ai-badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--purple);background:#bc8cff1a;border:1px solid rgba(188,140,255,.3);padding:2px 6px;border-radius:99px;width:fit-content;margin-bottom:2px}.seo-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--border);gap:8px;margin-top:auto}#commentsJumpBtn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0}@media(min-width:600px){#commentsJumpBtn{width:auto;padding:5px 12px}}@media(max-width:600px){.page-wrap{padding:0 16px}.hero{padding:32px 0}.hero-stats{gap:20px}.footer-inner{flex-direction:column;align-items:flex-start}.toolbar{flex-direction:column;align-items:flex-start;gap:8px}.toolbar-left{flex-wrap:wrap;gap:8px}.card{padding:12px 14px}.card-featured{padding:16px 14px}.nav-actions{gap:6px;flex-shrink:0}.nav-actions .btn-label{display:none}.btn-sm{padding:5px 9px;font-size:12px}}@media(max-width:480px){.settings-popover{position:fixed!important;top:56px!important;right:0!important;left:0!important;width:100%!important;border-left:none;border-right:none;box-shadow:var(--shadow-lg);border-radius:0}}@media(max-width:860px){.bm-btn,.card-share-btn,.card-summary-btn,.summary-close,.mpd-close,.pp-close,.view-btn{min-width:44px;min-height:44px}.chip{min-height:40px;padding:8px 16px}}@media(max-width:400px){.hero h1{font-size:clamp(1.6rem,8vw,2.2rem);line-height:1.12}.hero-sub{font-size:14px}}@media(max-width:480px){.newsletter-field-wrap{flex-direction:column;border-radius:var(--radius)}.newsletter-input{border-right:1px solid var(--border2);border-radius:var(--radius)}.newsletter-btn{border-radius:var(--radius);width:100%;justify-content:center}}@media(max-width:860px){.search-kbd{display:none}}@media(max-width:860px){.mobile-filters{position:sticky;top:58px;z-index:90;background:var(--bg);padding:10px 16px;margin:0 -16px;border-bottom:1px solid var(--border);-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}}@media(max-width:860px)and (max-height:600px){.summary-dialog{max-height:80vh}.summary-dialog__title{padding:10px 14px 6px;font-size:13px}.summary-dialog__body{padding:0 14px 12px}}@media(max-width:640px){.card-img-wrap{aspect-ratio:21 / 9}}@media(max-width:600px){.toolbar-left{width:100%}.toolbar-right{width:100%;justify-content:space-between}.article-count{flex:1;text-align:right}}@media(max-width:860px){.footer-shortcuts{display:none}}@media(max-width:480px){.settings-popover{max-height:calc(100vh - 58px - env(safe-area-inset-bottom,0px));overflow-y:auto}}@media(max-width:480px){.pp-modal-backdrop{align-items:flex-end}.pp-modal{width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));animation:slide-up-sheet .22s ease}}@keyframes slide-up-sheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:400px){.nav-actions{gap:4px}.nav-actions .btn-sm{padding:5px 7px}}@media(max-width:860px){.mobile-filters{scroll-snap-type:x mandatory}.chip{scroll-snap-align:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.term-cursor,.pulse,.hero-terminal,.contribute-terminal-wrap .hero-terminal{animation:none!important}.card:hover,.card-featured:hover,.signal-card:hover,.filter-item:hover,.btn:hover,.back-to-top:hover,.nav-link:hover{transform:none!important;box-shadow:inherit!important}.term-line{animation:none!important;opacity:1!important;transform:none!important}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--surface);border-top:1px solid var(--border);padding:12px 20px;box-shadow:0 -4px 24px #0006;animation:slideUpBanner .3s ease}@keyframes slideUpBanner{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-banner-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.cookie-banner-text{flex:1;font-size:13px;color:var(--ink2);line-height:1.5;margin:0}.cookie-banner-actions{display:flex;gap:8px;flex-shrink:0}.chip.chip-clear{border-color:#f8514966;color:var(--red);background:#f851490f}.chip.chip-clear:hover{border-color:var(--red);background:#f851491a}.gh-stars-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#ffffff0a;border:1px solid var(--border2);border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font);color:var(--ink2);transition:color var(--ease),border-color var(--ease),background var(--ease),transform var(--ease);white-space:nowrap;text-decoration:none}.gh-stars-badge:hover{color:var(--ink);border-color:var(--accent);background:#5b5eea14;transform:translateY(-1px)}.gh-stars-badge svg{color:#e3b341;flex-shrink:0}.gh-stars-count{display:inline-flex;align-items:center;padding:1px 7px;background:#ffffff12;border:1px solid var(--border2);border-radius:20px;font-size:11px;font-weight:600;font-family:var(--mono);color:var(--ink3);min-width:24px;justify-content:center}.gh-stars-count:empty{display:none}.nav-hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 10px;background:transparent;border:1px solid var(--border2);color:var(--ink2);border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--ease),border-color var(--ease),background var(--ease)}.nav-hamburger:hover{color:var(--ink);border-color:var(--border2);background:#ffffff0f}.nav-hamburger-bar{display:block;width:16px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}.nav-hamburger.open .nav-hamburger-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-hamburger.open .nav-hamburger-bar:nth-child(2){opacity:0}.nav-hamburger.open .nav-hamburger-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-drawer{position:fixed;top:58px;left:0;right:0;z-index:95;background:var(--bg2);border-bottom:1px solid var(--border2);box-shadow:0 8px 24px #00000080;transform:translateY(-110%);transition:transform .22s cubic-bezier(.4,0,.2,1);display:none}.nav-drawer.open{transform:translateY(0);display:block}.nav-drawer-links{display:flex;flex-direction:column;padding:8px 0}.nav-drawer-link{display:block;padding:14px 24px;font-size:15px;font-weight:500;color:var(--ink2);border-bottom:1px solid var(--border);transition:color var(--ease),background var(--ease)}.nav-drawer-link:last-child{border-bottom:none}.nav-drawer-link:hover{color:var(--ink);background:#ffffff0a}.nav-drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:94;background:#00000080}.nav-drawer-backdrop.open{display:block;animation:fade-in .15s ease}@media(max-width:860px){.nav-hamburger{display:flex}.nav-actions .btn-label{display:none}.auto-countdown{display:none!important}}@media(max-width:480px){.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .btn{width:100%;justify-content:center}.hero-stat .val{font-size:20px}.hero-stats{gap:16px}.hero-sub{font-size:14px}.hero:after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:40px;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--bg))}}@media(max-width:360px){.hero-stats{gap:12px}}.mobile-filters.mask-right{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.mobile-filters.mask-left{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%);mask-image:linear-gradient(to right,transparent 0%,black 10%)}.mobile-filters.mask-both{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 85%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 8%,black 85%,transparent 100%)}@media(max-width:860px){.mobile-filters{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.chip{padding:8px 12px}}@media(max-width:860px){.search-input{font-size:16px}input,textarea,select{font-size:max(16px,1em)}}@media(max-width:600px){.toolbar-right{gap:12px;justify-content:flex-end}}@media(max-width:860px){.card-img-wrap{aspect-ratio:3 / 2}.card-link{padding:7px 12px;min-height:36px}}@media(max-width:640px){.card-snippet{-webkit-line-clamp:3}.card-featured{padding:12px 14px}.feed-grid .card-featured{grid-column:auto}}@media(max-width:380px){.card-img-wrap--list{width:64px;min-width:64px}}@media(max-width:480px){.settings-popover:before{content:"";display:block;width:32px;height:4px;background:var(--border2);border-radius:2px;margin:10px auto 4px;flex-shrink:0}.settings-popover{max-height:calc(100dvh - 58px - env(safe-area-inset-bottom,0px));max-height:calc(100vh - 58px - env(safe-area-inset-bottom,0px))}}@media(max-width:860px){.settings-opt{min-height:44px}}@keyframes slide-up-sheet-summary{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:640px){#summaryModal{align-items:flex-end}.summary-dialog{width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:80dvh;max-height:80vh;animation:slide-up-sheet-summary .22s ease;padding-bottom:env(safe-area-inset-bottom,0px)}.summary-dialog:before{content:"";display:block;width:32px;height:4px;background:var(--border2);border-radius:2px;margin:10px auto 0;flex-shrink:0}}@media(max-width:400px){.mpd-section{padding:10px 12px}}@media(max-width:600px){.mpd-source-list{max-height:180px}}@media(max-width:860px){.mpd-chip{min-height:36px;padding:6px 12px}}@media(max-width:480px){.cookie-banner{padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.cookie-banner-inner{flex-direction:column;align-items:stretch}.cookie-banner-actions{width:100%;flex-direction:column}.cookie-banner-actions .btn{width:100%;justify-content:center}}@media(max-width:600px){.footer-sources-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}}@media(max-width:480px){.footer-sources-list li{font-size:12px}}.site-footer{padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))}@media(max-width:860px){.back-to-top{width:44px;height:44px;bottom:calc(72px + var(--cookie-h, 0px));right:16px}}@media(max-width:600px){.contribute-section{padding:40px 0 48px}}@media(hover:none){.contribute-ways li:hover{transform:none}}@media(min-width:600px)and (max-width:860px){.contribute-title,.feedback-title{font-size:clamp(1.6rem,3.5vw,2.2rem)}}@media(max-width:860px){.mobile-filters,.mpd-body,.mpd-source-list,.summary-dialog__body{-webkit-overflow-scrolling:touch}}.my-pulse-drawer,.summary-dialog,.settings-popover{overscroll-behavior:contain}.top-nav{padding-top:env(safe-area-inset-top,0px)}.back-to-top,.bm-toast{bottom:calc(24px + var(--cookie-h, 0px) + env(safe-area-inset-bottom,0px))}@media(max-width:860px){.back-to-top{bottom:calc(72px + var(--cookie-h, 0px) + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-data:reduce){:root{--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: ui-monospace, "Cascadia Code", "Fira Mono", monospace}} diff --git a/dist/assets/index-DKO8FmaJ.js b/dist/assets/index-oL8D-vqo.js similarity index 100% rename from dist/assets/index-DKO8FmaJ.js rename to dist/assets/index-oL8D-vqo.js diff --git a/dist/feed-health.json b/dist/feed-health.json index af743e2..7ce463c 100644 --- a/dist/feed-health.json +++ b/dist/feed-health.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-05-18T14:18:38.154Z", + "generatedAt": "2026-05-26T13:57:16.167Z", "feeds": [ { "id": "hacker-news", @@ -8,7 +8,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "lobsters", @@ -17,7 +17,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "the-register", @@ -26,7 +26,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "ars-technica", @@ -35,7 +35,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "infoq", @@ -44,7 +44,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "ieee-spectrum", @@ -53,7 +53,16 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" + }, + { + "id": "google-blog", + "name": "Google Blog", + "category": "General", + "ok": true, + "error": null, + "count": 15, + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "bleeping-computer", @@ -62,7 +71,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "the-hacker-news", @@ -71,7 +80,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "krebs-security", @@ -80,7 +89,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "schneier-security", @@ -89,7 +98,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "sans-isc", @@ -98,7 +107,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "mit-ai", @@ -107,7 +116,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "google-ai", @@ -116,7 +125,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "the-gradient", @@ -125,7 +134,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "planet-python", @@ -134,7 +143,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "real-python", @@ -143,7 +152,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "js-weekly", @@ -152,7 +161,7 @@ "ok": true, "error": null, "count": 4, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "node-weekly", @@ -161,7 +170,7 @@ "ok": true, "error": null, "count": 4, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "mdn-blog", @@ -170,7 +179,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "docker-blog", @@ -179,7 +188,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "kubernetes-blog", @@ -188,7 +197,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "hashicorp-blog", @@ -197,7 +206,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "aws-devops", @@ -206,7 +215,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "lwn", @@ -215,7 +224,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "github-blog", @@ -224,7 +233,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "spring-blog", @@ -233,7 +242,7 @@ "ok": true, "error": null, "count": 4, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "infoq-java", @@ -241,8 +250,8 @@ "category": "Java", "ok": true, "error": null, - "count": 4, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "count": 6, + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "rust-blog", @@ -251,7 +260,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "this-week-rust", @@ -260,7 +269,7 @@ "ok": true, "error": null, "count": 4, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "go-blog", @@ -269,7 +278,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "go-weekly", @@ -278,7 +287,7 @@ "ok": true, "error": null, "count": 4, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "dave-cheney", @@ -287,7 +296,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "martin-fowler", @@ -296,7 +305,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "infoq-arch", @@ -304,8 +313,8 @@ "category": "Architecture", "ok": true, "error": null, - "count": 2, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "count": 3, + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "aws-arch-blog", @@ -314,7 +323,7 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "high-scalability", @@ -323,7 +332,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "netflix-tech-blog", @@ -332,7 +341,7 @@ "ok": true, "error": null, "count": 10, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.532Z" }, { "id": "meta-engineering", @@ -341,7 +350,7 @@ "ok": true, "error": null, "count": 9, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.533Z" }, { "id": "cloudflare-blog", @@ -350,7 +359,106 @@ "ok": true, "error": null, "count": 15, - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "slashdot", + "name": "Slashdot", + "category": "General", + "ok": true, + "error": null, + "count": 0, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "the-verge", + "name": "The Verge", + "category": "General", + "ok": true, + "error": null, + "count": 10, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "wired", + "name": "Wired", + "category": "General", + "ok": true, + "error": null, + "count": 15, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "hackaday", + "name": "Hackaday", + "category": "General", + "ok": true, + "error": null, + "count": 7, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "phoronix", + "name": "Phoronix", + "category": "General", + "ok": true, + "error": null, + "count": 15, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "techmeme", + "name": "Techmeme", + "category": "General", + "ok": true, + "error": null, + "count": 15, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "techradar", + "name": "TechRadar", + "category": "General", + "ok": true, + "error": null, + "count": 15, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "venturebeat", + "name": "VentureBeat", + "category": "AI", + "ok": true, + "error": null, + "count": 7, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "engadget", + "name": "Engadget", + "category": "General", + "ok": true, + "error": null, + "count": 15, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "daring-fireball", + "name": "Daring Fireball", + "category": "General", + "ok": true, + "error": null, + "count": 15, + "fetchedAt": "2026-05-26T13:50:30.533Z" + }, + { + "id": "quanta-magazine", + "name": "Quanta Magazine", + "category": "General", + "ok": true, + "error": null, + "count": 5, + "fetchedAt": "2026-05-26T13:50:30.533Z" } ] } \ No newline at end of file diff --git a/dist/feed.json b/dist/feed.json index a18cd49..14ce03a 100644 --- a/dist/feed.json +++ b/dist/feed.json @@ -1,2184 +1,4978 @@ { - "generatedAt": "2026-05-18T14:18:38.154Z", - "feedCount": 39, - "articleCount": 449, - "successFeeds": 39, + "generatedAt": "2026-05-26T13:57:16.167Z", + "feedCount": 51, + "articleCount": 481, + "successFeeds": 51, "failedFeeds": 0, "articles": [ { - "id": "2110325a0250", - "title": "TanStack weighs invitation-only pull requests after supply chain attack", - "link": "https://www.theregister.com/security/2026/05/18/tanstack-weighs-invitation-only-pull-requests-after-supply-chain-attack/5241899", - "source": "The Register", - "sourceId": "the-register", - "category": "Security", - "publishedAt": "2026-05-18T14:15:00.000Z", - "summary": "The TanStack team has documented security measures and proposals following a damaging breach last week, including the possibility of making pull requests (PRs) by invitation only - a break from the open-contribution mode…", + "id": "ed3dc861dffa", + "title": "'You can really tell how long a game has been in development' — 007 First Light features a cameo of an internet star who went viral years ago", + "link": "https://www.techradar.com/gaming/you-can-really-tell-how-long-a-game-has-been-in-development-007-first-light-features-a-cameo-of-an-internet-star-who-went-viral-years-ago", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T13:45:23.000Z", + "summary": "IO Interactive has confirmed that 007 First Light will feature an easter egg appearance for an internet celebrity who went viral a few years ago.", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=261796&width=800", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://cdn.mos.cms.futurecdn.net/bdtdAvmjsXLAoHnk5d2aER-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.414Z" + "fetchedAt": "2026-05-26T13:50:29.672Z", + "sponsored": true }, { - "id": "fdf10de26d12", - "title": "Grafana says stolen GitHub token let hackers steal codebase", - "link": "https://www.bleepingcomputer.com/news/security/grafana-says-stolen-github-token-let-hackers-steal-codebase/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", - "category": "Security", - "publishedAt": "2026-05-18T13:46:26.000Z", - "summary": "Grafana Labs disclosed that hackers have downloaded its source code after breaching its GitHub environment using a stolen access token. [...]", + "id": "6d0d19b0086d", + "title": "How AI startups like Altur are using chatbots to help automate debt collection; YC incubated six debt collection and settlement startups in the past six years (Kate Knibbs/Wired)", + "link": "https://www.techmeme.com/260526/p19", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T13:45:01.000Z", + "summary": "Kate Knibbs / Wired : How AI startups like Altur are using chatbots to help automate debt collection; YC incubated six debt collection and settlement startups in the past six years — There's a mad dash to automate …", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2026/05/18/Grafana.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "http://www.techmeme.com/260526/i19.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:29.540Z", + "sponsored": true }, { - "id": "6df88b42f89b", - "title": "Microsoft remembers that taskbars used to move", - "link": "https://www.theregister.com/personal-tech/2026/05/18/microsoft-remembers-that-taskbars-used-to-move/5241875", - "source": "The Register", - "sourceId": "the-register", - "category": "Security", - "publishedAt": "2026-05-18T13:45:00.000Z", - "summary": "Microsoft has begun rolling out tweaks to the Windows 11 experience to make good on its promise to \"fix\" the operating system, starting with the ability to move the taskbar around. The changes are only for Windows Inside…", + "id": "d38cc419d1a6", + "title": "Spotify is narrating magazine articles now", + "link": "https://www.theverge.com/entertainment/937126/spotify-long-form-magazine-article-narration-availability", + "source": "The Verge", + "sourceId": "the-verge", + "category": "DevOps", + "publishedAt": "2026-05-26T13:41:03.000Z", + "summary": "Would you listen to magazine articles on Spotify? The streaming platform certainly hopes so, as it's launching a new format for narrated long-form articles , alongside its usual array of music, podcasts, and audiobooks. …", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=4094209&width=800", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.414Z" - }, - { - "id": "575c82e1dcd5", - "title": "Show HN: Files.md – open-source alternative to Obsidian", - "link": "https://github.com/zakirullin/files.md", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "Security", - "publishedAt": "2026-05-18T13:33:33.000Z", - "summary": "Files.md is a simple application for storing whole life experiences in plain .md files. It allows users to store notes, documents, projects, journals, habits, checklists, tasks, and other types of information locally first, without the need for installation or build systems. Files are portable and can be synced across devices using a Telegram chatbot. Users can use the app's built-in features like force-refresh to get new updates. The app is open-source and free to use, with no restrictions on what users can store in their files.", - "summaryType": "ai", - "image": "https://opengraph.githubassets.com/4d39561ee715047624d826714688f0fa816b00bed388925811e65aae6cf00f2b/zakirullin/files.md", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/2025/05/VRG_Illo_STK130_K_Radtke_Spotify_Podcast_1.jpg?quality=90&", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.186Z", + "sponsored": true }, { - "id": "61694ad2c50a", - "title": "[$] Swap tables, flash-friendly swap, swap_ops, and more", - "link": "https://lwn.net/Articles/1072657/", + "id": "875829a6c38a", + "title": "Stenberg: The pressure", + "link": "https://lwn.net/Articles/1074449/", "source": "LWN.net", "sourceId": "lwn", "category": "Open Source", - "publishedAt": "2026-05-18T13:16:04.000Z", - "summary": "The kernel's swap subsystem is charged with managing anonymous pages in secondary storage when those pages are (hopefully) not being used and the memory they occupy is needed elsewhere. This long-unloved subsystem has se…", + "publishedAt": "2026-05-26T13:40:57.000Z", + "summary": "Curl maintainer Daniel Stenberg writes about the stress of keeping up with the current flood of security reports. This is a never-before seen or experienced pressure on the curl project and its security team members. An …", "summaryType": "snippet", "image": null, "fallbackImage": "/assets/fallbacks/open-source.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true }, { - "id": "69b4b0ae5161", - "title": "Anthropic's Code With Claude Announces Managed Agents, Proactive Workflows, Capability Curve", - "link": "https://www.infoq.com/news/2026/05/code-with-claude/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-18T13:14:00.000Z", - "summary": "Anthropic hosted \"Code with Claude 2026\" in San Francisco, featuring livestream sessions focused on Claude Code, the Claude API platform, and other projects. Key topics included developer experience, autonomy features, m…", + "id": "194c4da0c0de", + "title": "NVIDIA 610.43.02 Linux Driver Released With Vulkan Improvements, DRM Color Pipeline API", + "link": "https://www.phoronix.com/news/NVIDIA-610.43.02-Linux-Driver", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "General", + "publishedAt": "2026-05-26T13:39:53.000Z", + "summary": "NVIDIA is kicking off the new week with their first Linux driver beta in the R610 driver series that is succeeding the current R595 release branch...", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/code-with-claude/en/headerimage/codewithclaude-1779025768208.jpeg", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://www.phoronix.net/image.php?id=nvidia-rtx-pro-blackwell&image=nvidia_rtx_pro_2", + "fallbackImage": "/assets/fallbacks/general.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true }, { - "id": "c2a5029b4e75", - "title": "NGINX Rift attackers waste no time targeting exposed servers", - "link": "https://www.theregister.com/security/2026/05/18/nginx-rift-attackers-waste-no-time-targeting-exposed-servers/5241851", - "source": "The Register", - "sourceId": "the-register", - "category": "Security", - "publishedAt": "2026-05-18T13:02:00.000Z", - "summary": "Exploit attempts are already hammering a newly disclosed NGINX bug dubbed \"NGINX Rift,\" proving once again that attackers read patch notes faster than most admins. Researchers at VulnCheck said they are seeing active exp…", + "id": "f96dccfbf1eb", + "title": "Could AI-powered dash cams save businesses millions in legal fees?", + "link": "https://www.techradar.com/pro/could-ai-powered-dash-cams-save-businesses-millions-in-legal-fees", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T13:36:40.000Z", + "summary": "AI dash cams can do a lot more than capture accidents. They help fleets exonerate drivers, fight fraudulent claims, and lower insurance costs before a lawsuit ever begins.", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=5241871&width=800", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://cdn.mos.cms.futurecdn.net/CecUoHoJxrDW2WaFsSDGyE-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.415Z" + "fetchedAt": "2026-05-26T13:50:29.672Z", + "sponsored": true }, { - "id": "ec9cc052bd19", - "title": "'We mould trees to grow into the shape of chairs'", - "link": "https://www.bbc.co.uk/news/articles/cvg0yy3gp71o", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "Security", - "publishedAt": "2026-05-18T13:01:18.000Z", - "summary": "", - "summaryType": "", - "image": "https://ichef.bbci.co.uk/ace/branded_news/1200/cpsprodpb/69ee/live/22052400-52b0-11f1-8b8c-6d33e1d5abb6.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "id": "ac44e4603305", + "title": "Dropbox founder Drew Houston is stepping down as CEO after 19 years to become executive chairman, replaced by Ashraf Alkarmi, who is SVP and GM of Dropbox Core (Jonathan Vanian/CNBC)", + "link": "https://www.techmeme.com/260526/p18", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T13:30:01.000Z", + "summary": "Jonathan Vanian / CNBC : Dropbox founder Drew Houston is stepping down as CEO after 19 years to become executive chairman, replaced by Ashraf Alkarmi, who is SVP and GM of Dropbox Core — Drew Houston founded Dropbo…", + "summaryType": "snippet", + "image": "http://www.techmeme.com/260526/i18.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.540Z", + "sponsored": true }, { - "id": "419e9817baeb", - "title": "How to Reduce Phishing Exposure Before It Turns into Business Disruption", - "link": "https://thehackernews.com/2026/05/how-to-reduce-phishing-exposure-before.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-18T13:00:00.000Z", - "summary": "What happens when a phishing email looks clean enough to pass through security, but dangerous enough to expose the business after one click? That is the gap many SOCs still struggle with: the attacks that leave teams uns…", + "id": "88a6f2803eee", + "title": "AI warfare is already here", + "link": "https://www.theverge.com/ai-artificial-intelligence/937028/military-ai-warfare-red-lines", + "source": "The Verge", + "sourceId": "the-verge", + "category": "AI", + "publishedAt": "2026-05-26T13:29:02.000Z", + "summary": "The Convention on Certain Conventional Weapons, an international forum that focuses on lethal autonomous systems, is hosted twice a year at the United Nations in Geneva. When Branka Marijan attended in November 2017, she…", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu4cbMji6f7O37Q6sBOEkOEXWMs7Eg4ixA0RdW8AiO6cIPai9yYqLTvVVkUH9ApXP8XycVeezSCvDMXhldVsCiaA-_kr5SwWJ4EjTfkyX0RdUacOUF3plBO9C6PHCLsUGM-L-ZthpQA7mhdPmH4nLgPPQIVBWK9BZUNQf7V17Y_5jVVvZ0FNaiOsG7mvs/s1600/anyrun-main.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/2026/05/268475_AIs_red_line_JMac2.png?quality=90&", + "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.509Z" + "fetchedAt": "2026-05-26T13:50:29.186Z", + "sponsored": true }, { - "id": "a86f4532d68e", - "title": "Coding Agent Horror Stories: The Security Crisis Threatening Developer Infrastructure", - "link": "https://www.docker.com/blog/ai-coding-agent-horror-stories-security-risks/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-05-18T13:00:00.000Z", - "summary": "This is issue 1 of a new series called Coding Agent Horror Stories where we examine critical security failures in the AI coding agent ecosystem and how Docker Sandboxes provide enterprise-grade protection against these t…", + "id": "f4faf3174843", + "title": "Observability was built for humans. AI agents need something different", + "link": "https://www.techradar.com/pro/observability-was-built-for-humans-ai-agents-need-something-different", + "source": "TechRadar", + "sourceId": "techradar", + "category": "AI", + "publishedAt": "2026-05-26T13:27:36.000Z", + "summary": "Observability platforms built for humans falter as AI agents demand deeper, continuously accessible telemetry data.", "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2026/05/image2-1.png", - "fallbackImage": "/assets/fallbacks/devops.svg", + "image": "https://cdn.mos.cms.futurecdn.net/9WT9t3hZhDVD84bF8rSypL-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.838Z" + "fetchedAt": "2026-05-26T13:50:29.672Z", + "sponsored": true }, { - "id": "e76255ff6e07", - "title": "Security updates for Monday", - "link": "https://lwn.net/Articles/1073356/", + "id": "ec0a8905fc50", + "title": "[$] Better automatic management of transparent huge pages", + "link": "https://lwn.net/Articles/1073407/", "source": "LWN.net", "sourceId": "lwn", "category": "Open Source", - "publishedAt": "2026-05-18T12:59:35.000Z", - "summary": "Security updates have been issued by AlmaLinux (freerdp, gimp:2.8, jq, kernel, and rsync), Debian (chromium, ffmpeg, firewalld, kernel, nginx, openjpeg2, openssh, php7.4, and redis), Fedora (apptainer, chromium, coturn, …", + "publishedAt": "2026-05-26T13:23:23.000Z", + "summary": "Huge pages can improve performance by increasing translation lookaside buffer (TLB) utilization and reducing memory-management overhead. Transparent huge pages (THPs) are supposed to make huge-page usage, well, transpare…", "summaryType": "snippet", "image": null, "fallbackImage": "/assets/fallbacks/open-source.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true }, { - "id": "79e00fe7224f", - "title": "Announcing AWS CDK Mixins: Composable Abstractions for AWS Resources", - "link": "https://aws.amazon.com/blogs/devops/announcing-aws-cdk-mixins-composable-abstractions-for-aws-resources/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", + "id": "df4c709a737f", + "title": "The Pope just warned AI could create ‘new forms of dehumanization’ — and his message feels aimed straight at Big Tech", + "link": "https://www.techradar.com/ai-platforms-assistants/the-pope-just-warned-ai-could-create-new-forms-of-dehumanization-and-his-message-feels-aimed-straight-at-big-tech", + "source": "TechRadar", + "sourceId": "techradar", "category": "DevOps", - "publishedAt": "2026-05-18T12:53:57.000Z", - "summary": "We are excited to announce CDK Mixins , a feature of the AWS Cloud Development Kit (CDK) that fundamentally changes how you compose and reuse infrastructure abstractions. In this post, you will learn how to use CDK Mixin…", + "publishedAt": "2026-05-26T13:17:14.000Z", + "summary": "In a new document focused on AI, ethics, and the growing power of tech companies, the Pope warned that artificial intelligence could lead to “new forms of dehumanization” if control of the technology remains in the hands…", "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/05/11/cdk-mixins-ga-featured-1120x630.png", + "image": "https://cdn.mos.cms.futurecdn.net/UrfF3hBSD657qHEF5yMoUH-1280-80.jpg", "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.205Z" + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "8dbadae6cc4e", - "title": "Building Self-Extending CLI Tools with Strands Agent", - "link": "https://aws.amazon.com/blogs/devops/building-self-extending-cli-tools-with-aws-strands/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", + "id": "4a48a3ecb560", + "title": "Google Fitbit Air review: slim, comfortable, and stylish, robust tracking, seven-day battery life, and cheaper than Whoop, but can only be worn on the wrist (Max Buondonno/The Shortcut)", + "link": "https://www.techmeme.com/260526/p17", + "source": "Techmeme", + "sourceId": "techmeme", "category": "DevOps", - "publishedAt": "2026-05-18T12:52:32.000Z", - "summary": "I. Introduction Engineering teams build internal command-line interface (CLI) tools because repetitive operational tasks such as generating reports, auditing infrastructure, and checking service health are faster and mor…", + "publishedAt": "2026-05-26T13:15:01.000Z", + "summary": "Max Buondonno / The Shortcut : Google Fitbit Air review: slim, comfortable, and stylish, robust tracking, seven-day battery life, and cheaper than Whoop, but can only be worn on the wrist — 🏆 Rating: 4/5 &m…", "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/05/12/strandsthumbnail-1206x630.png", + "image": "http://www.techmeme.com/260526/i17.jpg", "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.206Z" + "fetchedAt": "2026-05-26T13:50:29.540Z", + "sponsored": true }, { - "id": "f4eb8b2c2698", - "title": "Enough with the AI FOMO, go slow-mo, says Domo CDO", - "link": "https://www.theregister.com/ai-ml/2026/05/17/enough-with-the-ai-fomo-go-slow-mo-says-domo-cdo/5240840", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "General", - "publishedAt": "2026-05-18T12:49:54.000Z", - "summary": "", - "summaryType": "", - "image": "https://image.theregister.com/2940761.jpg?imageId=2940761&x=0&y=7.2&cropw=100&croph=85.61&panox=0&panoy=7.2&panow=100&panoh=85.61&width=1200&height=683", - "fallbackImage": "/assets/fallbacks/general.svg", + "id": "574eec4de08e", + "title": "Security updates for Tuesday", + "link": "https://lwn.net/Articles/1074443/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-26T13:10:23.000Z", + "summary": "Security updates have been issued by Debian (postorius and spip), Fedora (bind, bind-dyndb-ldap, linux-firmware, tor, and unbound), Mageia (ffmpeg, nginx, perl-Imager, and tigervnc, x11-server, x11-server-xwayland), Orac…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.613Z" + }, + { + "id": "46dabc7b8e17", + "title": "GoPro Mission 1 Pro review: The best action cam video quality comes at a high price", + "link": "https://www.engadget.com/2180965/gopro-mission-1-pro-review/", + "source": "Engadget", + "sourceId": "engadget", + "category": "Go", + "publishedAt": "2026-05-26T13:10:04.000Z", + "summary": "GoPro's Mission 1 Pro action cam has a big 1-inch sensor that offers sharp, color accurate 8K 60 fps and 4K 240 fps video.", + "summaryType": "snippet", + "image": "https://www.engadget.com/img/gallery/gopro-mission-1-pro-review-the-best-action-cam-video-quality-comes-at-a-high-price/l-intro-1779800730.jpg", + "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.516Z", + "sponsored": true }, { - "id": "8a1ced17d7f1", - "title": "Benedict Evans: AI eats the world (Spring 26) [pdf]", - "link": "https://static1.squarespace.com/static/50363cf324ac8e905e7df861/t/6a0af5d0484fbf5fe9a7743e/1779103184855/2026-Spring-AI.pdf", + "id": "a9fb9e20176b", + "title": "AWS Fired the One Employee Who Gave a Damn", + "link": "https://www.seuros.com/blog/aws-fired-the-human-who-made-the-difference/", "source": "Hacker News", "sourceId": "hacker-news", - "category": "AI", - "publishedAt": "2026-05-18T12:49:28.000Z", - "summary": "", - "summaryType": "", - "image": null, - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.365Z" - }, - { - "id": "c76c2a2168f1", - "title": "Modernizing Excel VBA to Python at Scale with AWS Transform custom", - "link": "https://aws.amazon.com/blogs/devops/modernizing-excel-vba-to-python-at-scale-with-aws-transform-custom/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", "category": "DevOps", - "publishedAt": "2026-05-18T12:48:58.000Z", - "summary": "Learn how AWS Transform custom can help migrate Excel VBA applications to modern Python code while overcoming context window limitations, preserving functional equivalence, and enabling cloud-native deployment—turning we…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/05/18/Modernizing-Excel-VBA-to-Python-at-Scale-with-AWS-Transform-Custom-1120x630.png", + "publishedAt": "2026-05-26T13:08:40.000Z", + "summary": "Tarus Balog, a 20-year veteran on the Open Source Strategy and Marketing team at Amazon Web Services, was fired from his job after he restored an account that had been deleted without warning. His proudest accomplishment was helping one developer in Morocco get his data back, which sparked a CEO-level investigation into AWS's own dysfunction. The company's response to Tarus's case was indifferent, and the system ultimately optimized him away for not meeting its expectations of using AI to create content. This incident highlights the tension between customer obsession and what actually gets rewarded in big tech companies, where human interaction and empathy are often lost in favor of automation.", + "summaryType": "ai", + "image": "https://www.seuros.com/img/aws-fired-the-human/cover-v1.webp", "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.207Z" + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true }, { - "id": "e3ffa798494c", - "title": "Java News Roundup: OpenJDK JEPs, Azul Payara, WildFly, LangChain4j, OpenXava, Google ADK", - "link": "https://www.infoq.com/news/2026/05/java-news-roundup-may11-2026/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", + "id": "3e095fcf64e8", + "title": "The Dutch government blocks the acquisition of authentication IT supplier Solvinity by US-based Kyndryl, citing \"a possible risk to the public interest\" (Pieter Haeck/Politico)", + "link": "https://www.techmeme.com/260526/p16", + "source": "Techmeme", + "sourceId": "techmeme", "category": "Security", - "publishedAt": "2026-05-18T12:45:00.000Z", - "summary": "This week's Java roundup for May 11th, 2026, features news highlighting: three OpenJDK JEPs targeted for JDK 27; introducting Azul Payara Community and the WildFly wado CLI tool; point releases of LangChain4j and Google …", + "publishedAt": "2026-05-26T13:06:07.000Z", + "summary": "Pieter Haeck / Politico : The Dutch government blocks the acquisition of authentication IT supplier Solvinity by US-based Kyndryl, citing “a possible risk to the public interest” — BRUSSELS — The …", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/java-news-roundup-may11-2026/en/headerimage/java-news-roundup-image-1779108213136.jpg", + "image": "http://www.techmeme.com/260526/i16.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.540Z", + "sponsored": true }, { - "id": "ea5a849e46bb", - "title": "Java News Roundup: OpenJDK JEPs, Azul Payara, WildFly, LangChain4j, OpenXava, Google ADK", - "link": "https://www.infoq.com/news/2026/05/java-news-roundup-may11-2026/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", - "source": "InfoQ Java", - "sourceId": "infoq-java", - "category": "Java", - "publishedAt": "2026-05-18T12:45:00.000Z", - "summary": "This week's Java roundup for May 11th, 2026, features news highlighting: three OpenJDK JEPs targeted for JDK 27; introducting Azul Payara Community and the WildFly wado CLI tool; point releases of LangChain4j and Google …", + "id": "290e65d5aa07", + "title": "Ghost CMS flaw hijacked to target hundreds of websites with ClickFix attacks — here's how to stay safe", + "link": "https://www.techradar.com/pro/security/ghost-cms-flaw-hijacked-to-target-hundreds-of-websites-with-clickfix-attacks-heres-how-to-stay-safe", + "source": "TechRadar", + "sourceId": "techradar", + "category": "Security", + "publishedAt": "2026-05-26T13:05:00.000Z", + "summary": "A critical-level flaw in a popular CMS, patched months ago, is now being abused.", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/java-news-roundup-may11-2026/en/headerimage/java-news-roundup-image-1779108213136.jpg", - "fallbackImage": "/assets/fallbacks/java.svg", + "image": "https://cdn.mos.cms.futurecdn.net/HU8VZ2jkrVAHBpb3Aqqg8j-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.793Z" + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "d057c89f7ec2", - "title": "Linux security mailing list 'almost unmanageable'", - "link": "https://www.theregister.com/security/2026/05/18/linus-torvalds-says-ai-powered-bug-hunters-have-made-linux-security-mailing-list-almost-entirely-unmanageable/5241633", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "Security", - "publishedAt": "2026-05-18T12:20:50.000Z", - "summary": "Linux security mailing list \"almost unmanageable\" due to AI-powered bug hunters, leading to significant duplication and unnecessary pain. REG AD highlights the growing problem of AI-driven bug hunting in Linux kernel projects, where researchers are using similar tools to find the same bugs, creating a \"unnecessary pain and pointless work.\" This underscores the need for developers to use AI more responsibly and efficiently by focusing on improving software security rather than relying solely on automated detection.", - "summaryType": "ai", - "image": "https://image.theregister.com/234872.jpg?imageId=234872&x=0&y=0&cropw=100&croph=100&panox=0&panoy=0&panow=100&panoh=100&width=1200&height=683", - "fallbackImage": "/assets/fallbacks/security.svg", + "id": "99607562db5c", + "title": "'It's something we've never done before': Logitech's newest flagship mouse and keyboard comes with something you might never expect - a cushion", + "link": "https://www.techradar.com/pro/its-something-weve-never-done-before-logitechs-newest-flagship-mouse-and-keyboard-comes-with-something-you-might-never-expect-a-cushion", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T13:03:39.000Z", + "summary": "The Logitech Signature Comfort Plus wants to add some comfort to your most vital office kit.", + "summaryType": "snippet", + "image": "https://cdn.mos.cms.futurecdn.net/ehy4FS88ksFDtPfKMoiUJV-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "0e920dff4318", - "title": "Poland directs officials to ditch Signal in favor of 'secure' state-developed alternative", - "link": "https://www.theregister.com/security/2026/05/18/poland-builds-its-own-signal-amid-security-concerns/5241824", - "source": "The Register", - "sourceId": "the-register", - "category": "Security", - "publishedAt": "2026-05-18T12:15:00.000Z", - "summary": "The Polish government is urging public officials and \"entities within the National Cybersecurity System\" to stop using Signal, directing them to instead use an encrypted messenger developed by a leading Polish research o…", + "id": "7c8959c52695", + "title": "The Untrusted Autonomous Workload: How AI Coding Agents Reshape What Isolation Has to Do", + "link": "https://www.docker.com/blog/untrusted-autonomous-workload-ai-sandboxes/", + "source": "Docker Blog", + "sourceId": "docker-blog", + "category": "DevOps", + "publishedAt": "2026-05-26T13:00:00.000Z", + "summary": "Earlier this year I mass-migrated my blog to Astro using Claude Code. 146 posts. 6,024 images. Canonical URLs, JSON-LD markup, sitemap generation, the whole stack. I’d spent hours writing a skills file to teach the…", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=227546&width=800", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://www.docker.com/app/uploads/2026/05/image4.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.415Z" + "fetchedAt": "2026-05-26T13:50:29.637Z", + "sponsored": true }, { - "id": "cc9e8c4ca482", - "title": "Ensure Code Integrity for AWS Lambda Functions with Automated Code Signing Using Terraform", - "link": "https://aws.amazon.com/blogs/devops/ensure-code-integrity-for-aws-lambda-functions-with-automated-code-signing-using-terraform/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", + "id": "3eda2b48270c", + "title": "Google Health brings your data into one place, on your terms", + "link": "https://blog.google/products-and-platforms/products/google-health/connect-data-across-devices/", + "source": "Google Blog", + "sourceId": "google-blog", "category": "DevOps", - "publishedAt": "2026-05-18T12:10:28.000Z", - "summary": "Authors: Sourav Kundu and Joyson Neville Lewis. In today’s cloud-native landscape, ensuring the integrity and authenticity of your serverless functions is critical for maintaining security and compliance. Organizations f…", + "publishedAt": "2026-05-26T13:00:00.000Z", + "summary": "We designed the Google Health App to bring your data into one secure place, no matter what device you use.", "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/05/11/devops-19765-featured-image.png", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/HealthApp_hero.max-600x600.format-webp.webp", "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.208Z" + "fetchedAt": "2026-05-26T13:50:27.574Z", + "sponsored": true }, { - "id": "9ea798c0bfc1", - "title": "Utah lawmakers form united front in push to ban prediction markets", - "link": "https://www.theguardian.com/us-news/2026/may/18/you-can-bet-on-it-utah-lawmakers-form-united-front-in-push-to-ban-prediction-markets", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "Security", - "publishedAt": "2026-05-18T11:38:48.000Z", - "summary": "Utah lawmakers formed a united front against prediction markets, arguing that they were gambling by another name and an encroachment on state authority. Prediction markets allow users to bet on almost anything from election outcomes to sports odds, but they have surged in popularity recently due to the rise of prediction markets such as Kalshi and Polymarket. Utah’s Republican leaders are fighting back against these platforms, setting up a battle between one of the country's most conservative states and a rapidly growing industry that is embraced by a Republican administration in Washington – and members of the US president's own family. The platforms have long contended that they do not facilitate gambling – an argument they have used to bypass the conventional regulatory landscape for gambling firms – and operate almost nationwide. With federal regulators under Donald Trump, they classify their products as financial exchanges governed by federal commodities law, rather than state gambling rules. Prediction markets are simply gambling by another name, they argue, and an encroachment on state authority.", - "summaryType": "ai", - "image": "https://i.guim.co.uk/img/media/2e3ebdfc403854d42f8ca4b03090221062f02703/683_0_6827_5464/master/6827.jpg?width=1200&height=630&quality=85&auto=format&fit=crop&precrop=40:21,offset-x50,offset-y0&overlay-align=bottom%2Cleft&overlay-width=100p&overlay-base64=L2ltZy9zdGF0aWMvb3ZlcmxheXMvdGctZGVmYXVsdC5wbmc&enable=upscale&s=84b013bcdbd7284d0c3ba81f157c5b9f", - "fallbackImage": "/assets/fallbacks/security.svg", + "id": "746bfca82dee", + "title": "Google Fitbit Air Review: Barely There, Always Running", + "link": "https://www.wired.com/review/google-fitbit-air/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-26T13:00:00.000Z", + "summary": "Google’s latest Fitbit strips away the screen without sacrificing features, delivering the most approachable and affordable wearable yet.", + "summaryType": "snippet", + "image": "https://media.wired.com/photos/6a14a4d99f939ad5b9106d3b/master/pass/New%20Google%20Fitbit%20Air%20Review%20top%20art%20052026%20SOURCE%20Google.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "3648dc60c6c9", - "title": "I automated opt-outs for 500 data broker sites (open source)", - "link": "https://github.com/stephenlthorn/auto-identity-remove", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "Security", - "publishedAt": "2026-05-18T11:32:42.000Z", - "summary": "", - "summaryType": "", - "image": "https://opengraph.githubassets.com/057bc2658690a24b0a842285a5a5841529a1838d55a32825ce22d6a3ea1bcc5e/stephenlthorn/auto-identity-remove", - "fallbackImage": "/assets/fallbacks/security.svg", + "id": "a6d53f1a190b", + "title": "What is the release date for The Four Seasons season 2 on Netflix?", + "link": "https://www.techradar.com/streaming/netflix/the-four-seasons-season-2-release-date-time", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T13:00:00.000Z", + "summary": "Steve Carrell might not be returning, but that's not true for the rest of this Netflix show's cast. But when does The Four Seasons season 2 arrive on Netflix?", + "summaryType": "snippet", + "image": "https://cdn.mos.cms.futurecdn.net/ot6aKyrpAyCCWXnasWYuKn-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "55946d6a0bf8", - "title": "Windows boot partition runs out of space for Microsoft's May security update", - "link": "https://www.theregister.com/oses/2026/05/18/windows-boot-partition-runs-out-of-space-for-microsofts-may-security-update/5241799", - "source": "The Register", - "sourceId": "the-register", - "category": "Security", - "publishedAt": "2026-05-18T11:30:00.000Z", - "summary": "Microsoft has admitted that the May 2026 security update might fail to install with a \"Something didn't go as planned. Undoing changes\" message. The problem is related to the EFI System Partition (ESP), which is usually …", + "id": "49f069bfeed1", + "title": "Fitbit Air review: Health tracking for the AI generation", + "link": "https://www.engadget.com/2180910/fitbit-air-review-google-health-ai-coach-testing/", + "source": "Engadget", + "sourceId": "engadget", + "category": "DevOps", + "publishedAt": "2026-05-26T13:00:00.000Z", + "summary": "The Fitbit Air is a serious rival to Whoop and other screenless wearable trackers thanks to its solid hardware, comprehensive software and competitive pricing.", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=4093838&width=800", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.415Z" + "image": null, + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.516Z", + "sponsored": true }, { - "id": "265c4042567b", - "title": "Developer Workstations Are Now Part of the Software Supply Chain", - "link": "https://thehackernews.com/2026/05/developer-workstations-are-now-part-of.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", + "id": "ef1a9539fb3f", + "title": "Spain says it is blocking Polymarket and Kalshi as a precautionary measure while it probes possible gambling law violations over the next three to four months (Mauro Orru/Wall Street Journal)", + "link": "https://www.techmeme.com/260526/p15", + "source": "Techmeme", + "sourceId": "techmeme", "category": "Security", - "publishedAt": "2026-05-18T11:23:41.000Z", - "summary": "Supply chain attackers are not only trying to slip malicious code into trusted software. They are trying to steal the access that makes trusted software possible. Recently, three separate campaigns hit npm, PyPI, and Doc…", + "publishedAt": "2026-05-26T12:51:09.000Z", + "summary": "Mauro Orru / Wall Street Journal : Spain says it is blocking Polymarket and Kalshi as a precautionary measure while it probes possible gambling law violations over the next three to four months — The government sai…", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjylLL25uQ3uU6RshKkTv9isR22Y_6_b4uJJ4koE1MqtmGs4IWdz88_aH8up_7WDxghA7-GeMbm6gpoKUXRw99Cm1ljO03H8bdcv91vvO_ch313e_JAwtYH-CewZJF2WkNrYWtcp-acMiPTvSs5aan7v2DLpEjVSBuEarfJ-eCLEHCL2WK9zjxOho_gj3k/s1600/git.gif", + "image": "http://www.techmeme.com/260526/i15.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.510Z" + "fetchedAt": "2026-05-26T13:50:29.540Z", + "sponsored": true }, { - "id": "3db117f7f945", - "title": "Microsoft testing adjustable taskbar, Start menu in Windows 11", - "link": "https://www.bleepingcomputer.com/news/microsoft/windows-11-finally-gets-a-resizable-taskbar-and-start-menu/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", - "category": "Security", - "publishedAt": "2026-05-18T11:14:28.000Z", - "summary": "Microsoft has finally brought back the resizable taskbar and Start menu to Windows 11 in the latest preview version rolling out to Insiders in the Experimental channel. [...]", + "id": "9b94c10bcd01", + "title": "Nobody wants to tell me why they only listen to their own Suno slop", + "link": "https://www.theverge.com/ai-artificial-intelligence/937059/nobody-wants-to-tell-me-why-they-only-listen-their-own-suno-slop", + "source": "The Verge", + "sourceId": "the-verge", + "category": "DevOps", + "publishedAt": "2026-05-26T12:49:52.000Z", + "summary": "There's this alarming trend in the Suno subreddit. People aren't just prompting AI songs; they're sitting around listening almost exclusively to their own slop. And in some cases, they proudly proclaim that they don't li…", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2026/04/01/Windows-11.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/2025/05/STKS511_AI_SLOP_A.jpg?quality=90&", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:29.185Z", + "sponsored": true }, { - "id": "d7d9be038577", - "title": "Zero-Day Exploit Against Windows BitLocker", - "link": "https://www.schneier.com/blog/archives/2026/05/zero-day-exploit-against-windows-bitlocker.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", - "category": "Security", - "publishedAt": "2026-05-18T11:08:38.000Z", - "summary": "It’s nasty , but it requires physical access to the computer: The exploit, named YellowKey, was published earlier this week by a researcher who goes by the alias Nightmare-Eclipse. It reliably bypasses default Wind…", + "id": "57233f9fbfac", + "title": "Spotify launches a library of over 650 narrated long-form magazine articles in English for Premium users; free users can buy articles \"individually for $1.99\" (Jess Weatherbed/The Verge)", + "link": "https://www.techmeme.com/260526/p14", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T12:40:01.000Z", + "summary": "Jess Weatherbed / The Verge : Spotify launches a library of over 650 narrated long-form magazine articles in English for Premium users; free users can buy articles “individually for $1.99” — Mor…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.555Z" + "image": "http://www.techmeme.com/260526/i14.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.540Z", + "sponsored": true }, { - "id": "d5fa5302b09b", - "title": "Podcast: Context is the Key to the Agentic Architecture Revolution: A Conversation with Baruch Sadogursky", - "link": "https://www.infoq.com/podcasts/context-key-agentic-architecture-revolution/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Architecture", - "source": "InfoQ Architecture", - "sourceId": "infoq-arch", - "category": "Architecture", - "publishedAt": "2026-05-18T11:00:00.000Z", - "summary": "Michael Stiefel spoke to Baruch Sadogursky about software architecture in the age of agentic AI. LLM can function, albeit stochastically, as reasoning machines capable of interpreting human ambiguity. With the appropriat…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:15.164Z" + "id": "54b86505a0ea", + "title": "What is a harmonic? An interactive comic about additive synthesis", + "link": "https://melatonin.dev/additive-synth-comic/what-is-a-harmonic/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-26T12:33:39.000Z", + "summary": "A new interactive comic has been released that explores the concept of harmonics in music. The comic, created by Sudara and Alec Longstreth, uses a unique blend of art and sound to illustrate how different frequencies interact with each other. Harmonics are fundamental building blocks of sound, but they can be difficult to visualize and understand. By using an interactive format, developers can gain a deeper appreciation for the intricacies of additive synthesis.", + "summaryType": "ai", + "image": "https://melatonin.dev/wp-content/uploads/2026/05/og-comic-1.webp", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true }, { - "id": "df88ff4790f6", - "title": "Article: Building a Secure MCP Server on AWS for a Million-Company B2B Platform", - "link": "https://www.infoq.com/articles/secure-mcp-server-aws/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "Security", - "publishedAt": "2026-05-18T11:00:00.000Z", - "summary": "We wanted to expose a B2B intelligence platform built on more than one million company profiles to an LLM client through an MCP server so a user can ask “find SaaS companies in Germany with 50-200 employees” and receive …", + "id": "ceefcc878b85", + "title": "OpenRouter raised $113M led by CapitalG, a source says at a $1.3B valuation, and now processes 25T tokens across 400+ models weekly, up from 5T six months ago (Michael J. de la Merced/New York Times)", + "link": "https://www.techmeme.com/260526/p13", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T12:30:03.000Z", + "summary": "Michael J. de la Merced / New York Times : OpenRouter raised $113M led by CapitalG, a source says at a $1.3B valuation, and now processes 25T tokens across 400+ models weekly, up from 5T six months ago — An investm…", "summaryType": "snippet", - "image": "https://res.infoq.com/articles/secure-mcp-server-aws/en/headerimage/secure-mcp-server-aws-header-1778765095736.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "http://www.techmeme.com/img/pml.png", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.540Z", + "sponsored": true }, { - "id": "3dc210a7349b", - "title": "Podcast: Context is the Key to the Agentic Architecture Revolution: A Conversation with Baruch Sadogursky", - "link": "https://www.infoq.com/podcasts/context-key-agentic-architecture-revolution/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-18T11:00:00.000Z", - "summary": "Michael Stiefel spoke to Baruch Sadogursky about software architecture in the age of agentic AI. LLM can function, albeit stochastically, as reasoning machines capable of interpreting human ambiguity. With the appropriat…", + "id": "a0678a263e94", + "title": "Atlanta-based e-commerce logistics company Stord raised a $250M Series F led by Strike at a $3B valuation, up from $1.5B after a $200M Series E in May 2025 (Julie Bort/TechCrunch)", + "link": "https://www.techmeme.com/260526/p12", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T12:21:07.000Z", + "summary": "Julie Bort / TechCrunch : Atlanta-based e-commerce logistics company Stord raised a $250M Series F led by Strike at a $3B valuation, up from $1.5B after a $200M Series E in May 2025 — E-commerce logistics company S…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "image": "http://www.techmeme.com/260526/i12.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.541Z", + "sponsored": true }, { - "id": "d2c17f1fc95b", - "title": "Ivanti, Fortinet, SAP, VMware, n8n Patch RCE, SQL Injection, Privilege Escalation Flaws", - "link": "https://thehackernews.com/2026/05/ivanti-fortinet-sap-vmware-n8n-patch.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", + "id": "770059b94a13", + "title": "Microsoft Defender can now automatically isolate hacked endpoints", + "link": "https://www.bleepingcomputer.com/news/microsoft/microsoft-defender-can-now-automatically-isolate-hacked-endpoints/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", "category": "Security", - "publishedAt": "2026-05-18T10:54:05.000Z", - "summary": "Ivanti, Fortinet, n8n, SAP, and VMware have released security fixes for various vulnerabilities that could be exploited by bad actors to bypass authentication and execute arbitrary code. Topping the list is a critical fl…", + "publishedAt": "2026-05-26T12:19:43.000Z", + "summary": "Microsoft is testing a new Defender for Endpoint capability that will automatically isolate compromised endpoints to thwart attackers' attempts to move laterally across the network. [...]", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2iqd3uRuOdLaM83LyZC9GOeOLeP9BnBVQQQzF7LZUeBTXfGo6e6b9c7PSC0Tkt_vhN_FUFUiDwnLXXNmzpIubE5bI0rA7dRaDhuiV35uiNTcMab7o8E_1ehn3CzUUsfno-6fYECbYzGNS1dyNof1ihn-hf4QYjLn7ZD53y_byQigukme9w-LAeBKDWXAg/s1600/patches.jpg", + "image": "https://www.bleepstatic.com/content/hl-images/2023/10/11/Microsoft-Defender_for_Endpoint.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.510Z" + "fetchedAt": "2026-05-26T13:50:27.546Z", + "sponsored": true }, { - "id": "be646fcc888d", - "title": "F-35 software delays leave UK buying time with US glide bombs", - "link": "https://www.theregister.com/security/2026/05/18/f-35-software-delays-leave-uk-buying-time-with-us-glide-bombs/5241737", - "source": "The Register", - "sourceId": "the-register", + "id": "95baa49240e0", + "title": "Webinar: Too many tools are slowing network incident response", + "link": "https://www.bleepingcomputer.com/news/security/webinar-too-many-tools-are-slowing-network-incident-response/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", "category": "Security", - "publishedAt": "2026-05-18T10:48:00.000Z", - "summary": "Britain's F-35 fighter fleet is set to carry US-made glide bombs as an interim measure until delayed F-35 software updates from Lockheed Martin add support for the SPEAR 3 mini-cruise missile intended for the aircraft. T…", + "publishedAt": "2026-05-26T12:16:24.000Z", + "summary": "IT teams often need to jump between monitoring dashboards, infrastructure tools, ticketing systems, and communication platforms during network incidents. This webinar explores how automation and AI-assisted workflows can…", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=5241759&width=800", + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/25/automation-header.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.415Z" + "fetchedAt": "2026-05-26T13:50:27.546Z", + "sponsored": true }, { - "id": "da6dfa0ebc21", - "title": "What are you doing this week?", - "link": "https://lobste.rs/s/wiwqnw/what_are_you_doing_this_week", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "Security", - "publishedAt": "2026-05-18T10:25:30.000Z", - "summary": "What are you doing this week? Feel free to share! Keep in mind it’s OK to do nothing at all, too.", + "id": "4b5743f7e2b5", + "title": "SEC filing: Quantinuum is seeking to raise $1.05B in its US IPO, marketing ~21M shares for $45 to $50 each, giving it a $12.7B valuation at the top of the range (Carmen Reinicke/Bloomberg)", + "link": "https://www.techmeme.com/260526/p11", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T12:06:05.000Z", + "summary": "Carmen Reinicke / Bloomberg : SEC filing: Quantinuum is seeking to raise $1.05B in its US IPO, marketing ~21M shares for $45 to $50 each, giving it a $12.7B valuation at the top of the range — Quantinuum Inc., a qu…", "summaryType": "snippet", - "image": "https://lobste.rs/story_image/wiwqnw.png", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "http://www.techmeme.com/260526/i11.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.099Z" + "fetchedAt": "2026-05-26T13:50:29.541Z", + "sponsored": true }, { - "id": "2dd129e2be79", - "title": "Presentation: Product Thinking for Cloud Native Engineers", - "link": "https://www.infoq.com/presentations/product-cloud-native/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "General", - "publishedAt": "2026-05-18T10:06:00.000Z", - "summary": "Stéphane Di Cesare and Cat Morris share how engineers can move from being a \"cost center\" to a value driver using product discovery. They explain the \"Double Diamond\" framework and why identifying user problems must prec…", + "id": "f1ba9ce24171", + "title": "Real Python: Quiz: Python Web Scraping", + "link": "https://realpython.com/quizzes/python-web-scraping/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the Python Web Scraping learning path: Learning Path Python Web Scraping 10 Resources ⋅ Skills: Web Scraping, HTTP Requests, Data Parsing You’ll be qu…", "summaryType": "snippet", - "image": "https://res.infoq.com/presentations/product-cloud-native/en/card_header_image/CatMorrisStephaneDiCesare-twitter-card-1778661429675.jpg", - "fallbackImage": "/assets/fallbacks/general.svg", + "image": "https://files.realpython.com/media/Python-Web-Scraping-Tutorials_Watermarked.7485bc476527.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:28.293Z", + "sponsored": true }, { - "id": "1db9a89b276b", - "title": "How Melbourne’s AI and Data Center Flywheel Is Accelerating Research Innovation", - "link": "https://spectrum.ieee.org/melbourne-ai-data-center-innovation", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "AI", - "publishedAt": "2026-05-18T10:00:01.000Z", - "summary": "This sponsored article is brought to you by Melbourne Convention Bureau (MCB) supported by Business Events Australia . Melbourne’s reputation as a global events city, from the Australian Open tennis and Formula 1 Austral…", + "id": "854a7eab1546", + "title": "Real Python: Quiz: Data Science With Python Core Skills", + "link": "https://realpython.com/quizzes/data-science-python-core-skills/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the Data Science With Python Core Skills learning path: Learning Path Data Science With Python Core Skills 21 Resources ⋅ Skills: Pandas, NumPy, Data Cleani…", "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/hot-air-balloons-over-a-riverside-city-skyline-at-sunrise-with-parks-in-the-foreground.jpg?id=66723254&width=1245&height=700&coordinates=0%2C62%2C0%2C63", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://files.realpython.com/media/Python-Data-Science_Watermarked.2789459dd138.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.841Z" + "fetchedAt": "2026-05-26T13:50:28.293Z", + "sponsored": true }, { - "id": "6456a22c2d33", - "title": "Agentic AI for Robot Teams", - "link": "https://events.bizzabo.com/867156", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "AI", - "publishedAt": "2026-05-18T10:00:01.000Z", - "summary": "This presentation highlights recent efforts at the Johns Hopkins Applied Physics Laboratory to advance agentic AI for collaborative robotic teams. It begins by framing the core challenges of enabling autonomy, coordinati…", + "id": "4529b8977076", + "title": "Real Python: Quiz: Python Control Flow and Loops", + "link": "https://realpython.com/quizzes/python-control-flow-and-loops/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the Python Control Flow and Loops learning path: Learning Path Python Control Flow and Loops 15 Resources ⋅ Skills: Python, Control Flow, Conditional Statem…", "summaryType": "snippet", - "image": "https://assets.rbl.ms/66700256/origin.png", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://files.realpython.com/media/Python-while-Loops-Indefinite-Iteration_Watermarked.2dfa40d8e92c.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.841Z" + "fetchedAt": "2026-05-26T13:50:28.294Z", + "sponsored": true }, { - "id": "aed0092e6a66", - "title": "Mozilla warns UK: Breaking VPNs will not magically fix Britain's age-check mess", - "link": "https://www.theregister.com/security/2026/05/18/mozilla-warns-uk-breaking-vpns-will-not-magically-fix-britains-age-check-mess/5241770", - "source": "The Register", - "sourceId": "the-register", - "category": "Security", - "publishedAt": "2026-05-18T09:54:01.000Z", - "summary": "Mozilla has warned Britain not to turn VPNs into collateral damage in the government's increasingly desperate hunt for ways to stop kids dodging Online Safety Act age checks. In a submission to the Department for Science…", + "id": "c51cb842ebe4", + "title": "Real Python: Quiz: DevOps With Python", + "link": "https://realpython.com/quizzes/python-devops/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the DevOps With Python learning path: Learning Path DevOps With Python 10 Resources ⋅ Skills: Packaging & Deployment, CI/CD, AWS, Docker, Logging The 16…", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=4094224&width=800", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://files.realpython.com/media/pcl-Python-DevOps-Tutorials_Watermarked.7c7fecab9e6a.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.415Z" + "fetchedAt": "2026-05-26T13:50:28.294Z", + "sponsored": true }, { - "id": "0fda275eb40f", - "title": "Find bugs in YOUR code using OpenCode, Llama.cpp and Qwen3.6", - "link": "http://wtarreau.blogspot.com/2026/05/find-bugs-in-your-code-using-opencode.html", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "DevOps", - "publishedAt": "2026-05-18T09:51:24.000Z", - "summary": "The core topic of this article is how OpenCode and Llama.cpp can be used for automated testing and analysis in a developer's codebase. The key technology or finding highlighted is that these tools allow developers to bypass the limitations imposed by their own operating system, such as access to sensitive files like ~/.ssh/known_hosts. This allows them to perform tasks without fear of being caught by security measures.", - "summaryType": "ai", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuMUxcVvbSdJaR0YzeyXB2GovnBhB4mq49IuJotpi1MoDTZfz9AxOV2Fzvl8mygHbPzVc3iV7hdO0SqLYb0ACT9p3gIyjBK7L1F-yn1CQU0VSzTBx0jqsxv6rjOU7nTOjAQGC_DBcsvfYCx51xkCuxopaxTbYMQcAVzQfDaLwsJx9ZFr6eNNHQ7yW2WJA/w1200-h630-p-k-no-nu/archi-llm.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.100Z" - }, - { - "id": "4a41d0788c89", - "title": "Cloudflare and Stripe Let AI Agents Create Accounts, Buy Domains, and Deploy to Production", - "link": "https://www.infoq.com/news/2026/05/cloudflare-stripe-agent-commerce/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-18T09:41:00.000Z", - "summary": "Cloudflare and Stripe launched a protocol that lets AI agents autonomously create cloud accounts, register domains, start subscriptions, and deploy to production. Stripe handles identity and payment with a $100/month def…", + "id": "e49f2ff2316f", + "title": "Real Python: Quiz: Connecting LLMs to Your Data With Python MCP Servers", + "link": "https://realpython.com/quizzes/python-mcp-video/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this video course quiz, you’ll test your understanding of Connecting LLMs to Your Data With Python MCP Servers . By working through this quiz, you’ll revisit core MCP concepts like the client-server archit…", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/cloudflare-stripe-agent-commerce/en/headerimage/generatedHeaderImage-1778579453858.jpg", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://files.realpython.com/media/How-to-Properly-Indent-Your-Python-Code_Watermarked.24ef559fc78a.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:28.294Z", + "sponsored": true }, { - "id": "98927efbf519", - "title": "The foundations of a provably secure operating system (PSOS) (1979) [pdf]", - "link": "http://www.csl.sri.com/users/neumann/psos.pdf", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "General", - "publishedAt": "2026-05-18T09:40:51.000Z", - "summary": "", - "summaryType": "", - "image": null, - "fallbackImage": "/assets/fallbacks/general.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.365Z" - }, - { - "id": "45f5d120f5d7", - "title": "FediMeteo, HAProxy, and the art of not wasting snac threads", - "link": "https://it-notes.dragas.net/2026/05/18/fedimeteo-haproxy-and-the-art-of-not-wasting-snac-threads/", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "Security", - "publishedAt": "2026-05-18T09:30:30.000Z", - "summary": "", - "summaryType": "", - "image": "https://unsplash.com/photos/ZVhm6rEKEX8/download?ixid=M3wxMjA3fDB8MXxhbGx8fHx8fHx8fHwxNzQwNTEzNjE5fA&force=true&w=640", - "fallbackImage": "/assets/fallbacks/security.svg", + "id": "cc80137612f6", + "title": "Real Python: Quiz: Testing and Continuous Integration", + "link": "https://realpython.com/quizzes/test-your-python-apps/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the Testing and Continuous Integration learning path: Learning Path Testing and Continuous Integration 10 Resources ⋅ Skills: Unit Testing, Doctest, Mock Ob…", + "summaryType": "snippet", + "image": "https://files.realpython.com/media/pcl-Getting-Started-with-Testing-in-Python_Watermarked.dbfc4c3fbfe0.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.100Z" + "fetchedAt": "2026-05-26T13:50:28.294Z", + "sponsored": true }, { - "id": "5ece6c8ae88d", - "title": "Google tells database devs to lean hard on AI for PostgreSQL work", - "link": "https://www.theregister.com/databases/2026/05/18/google-tells-database-devs-to-lean-hard-on-ai-for-postgresql-work/5238070", - "source": "The Register", - "sourceId": "the-register", - "category": "AI", - "publishedAt": "2026-05-18T09:15:00.000Z", - "summary": "Google is encouraging its database developers to lean \"heavily\" on AI coding tools as it ramps up contributions to open source projects such as PostgreSQL. Earlier this year, Google announced a raft of new contributions …", + "id": "f084f214a3c2", + "title": "Real Python: Quiz: I/O Operations and String Formatting", + "link": "https://realpython.com/quizzes/input-output-operations-and-string-formatting/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the I/O Operations and String Formatting learning path: Learning Path I/O Operations and String Formatting 10 Resources ⋅ Skills: Python, Fundamentals, I/O,…", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=5238106&width=800", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://files.realpython.com/media/pcl-A-Guide-to-the-Newer-Python-String-Format-Techniques_Watermarked.b582310cdcd6.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.415Z" + "fetchedAt": "2026-05-26T13:50:28.294Z", + "sponsored": true }, { - "id": "bfdd74eb91e2", - "title": "MiniPlasma Windows 0-Day Enables SYSTEM Privilege Escalation on Fully Patched Systems", - "link": "https://thehackernews.com/2026/05/miniplasma-windows-0-day-enables-system.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-18T08:57:34.000Z", - "summary": "Chaotic Eclipse, the security researcher behind the recently disclosed Windows flaws, YellowKey and GreenPlasma, has released a proof-of-concept (PoC) for a Windows privilege escalation zero-day flaw that grants attacker…", + "id": "7443769d03c1", + "title": "Real Python: Quiz: Functions and Scopes", + "link": "https://realpython.com/quizzes/functions-and-scopes/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the Functions and Scopes learning path: Learning Path Functions and Scopes 12 Resources ⋅ Skills: Python, Functions, Scope, Arguments, Parameters, Return, G…", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvmx8dRRiQKx4cT0aT1-zTuzdjfThwxmlbzb2ikeeqIXUXGdcJhRrq4BykcdBB572URpoAHQhSTSyahR3M7TyvOsLSCekQGCUFM8sTcdsxkrpRFrT41wF8EqKA5LjzYHpzUtro2136Iy55cKQ_wixFUSsFDnilkUNCvrDvJbHBKK3k_IelHt9lOmbW01_u/s1600/windows-exploits.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://files.realpython.com/media/Namespaces-and-Scope-in-Python_Watermarked.3292d335961c.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.510Z" + "fetchedAt": "2026-05-26T13:50:28.294Z", + "sponsored": true }, { - "id": "9807b461e585", - "title": "Four Malicious npm Packages Deliver Infostealers and Phantom Bot DDoS Malware", - "link": "https://thehackernews.com/2026/05/four-malicious-npm-packages-deliver.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-18T08:57:26.000Z", - "summary": "Cybersecurity researchers have discovered four new npm packages containing information-stealing malware, one of which is a clone of the Shai-Hulud worm open-sourced by TeamPCP. The list of identified packages is below - …", + "id": "974506fb8831", + "title": "Real Python: Quiz: Files and File Streams", + "link": "https://realpython.com/quizzes/files-and-file-streams-in-python/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the Files and File Streams learning path: Learning Path Files and File Streams 13 Resources ⋅ Skills: Python, Pathlib, File I/O, Serialization, Encoding, Un…", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbN7WbW1cUkMzMJl0HPvRrQQUc5MQEE3Pvrc735aG7RGwpguum4POxa4yeQjyYIyiAYBDj_Zl6Ud8esex0AnQSG2J6TVWat57BLALA4WTi3gr5mfrLC2AHloSuvzx6fg9bTxZUvO-aA5VwHjyqbYecAWm2DnM9SRyt0M1GaqYzlBBKdgUR8BXV3xIDVnVN/s1600/npm-hacking.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://files.realpython.com/media/pcl-Reading-and-Writing-Files-in-Python_Watermarked.5901d9ce4d67.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.510Z" + "fetchedAt": "2026-05-26T13:50:28.294Z", + "sponsored": true }, { - "id": "6a3624b21438", - "title": "Microsoft confirms Windows 11 security update install issues", - "link": "https://www.bleepingcomputer.com/news/microsoft/microsoft-confirms-kb5089549-windows-11-security-update-install-issues/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", - "category": "Security", - "publishedAt": "2026-05-18T08:33:14.000Z", - "summary": "Microsoft has confirmed that the May 2026 Windows 11 security update (KB5089549) fails to install on some systems and triggers 0x800f0922 errors. [...]", + "id": "22b53e1a0972", + "title": "Real Python: Quiz: Perfect Your Python Development Setup", + "link": "https://realpython.com/quizzes/perfect-your-python-development-setup/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "In this quiz, you’ll revisit the core concepts covered in the Perfect Your Python Development Setup learning path: Learning Path Perfect Your Python Development Setup 17 Resources ⋅ Skills: VS Code, PyCharm, Virtua…", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2026/02/13/Windows-headpic.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://files.realpython.com/media/pcl-Python-IDEs-and-Code-Editors_Watermarked.b2fb2c0d13ed.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:28.295Z", + "sponsored": true }, { - "id": "3ec053df1691", - "title": "Utah tells porn sites to take the P out of VPNs, and it's their fault that they can't", - "link": "https://www.theregister.com/columnists/2026/05/18/utah-tells-porn-sites-to-take-the-p-out-of-vpns-and-its-their-fault-that-they-cant/5240978", - "source": "The Register", - "sourceId": "the-register", - "category": "Security", - "publishedAt": "2026-05-18T08:30:00.000Z", - "summary": "OPINION The terms \"blindingly obvious,\" \"logical consequence,\" and \"that is not how it works\" appear nowhere in the government handbook of internet legislation. In particular, the discovery that imposing age access contr…", + "id": "87b374a4e02d", + "title": "Platform Engineering Labs Expands formae with Kubernetes Support, Native Helm Integration", + "link": "https://www.infoq.com/news/2026/05/formae-k8s-helm-integration/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "DevOps", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "Platform Engineering Labs has announced a major update to its open-source Infrastructure-as-Code platform, formae, introducing full Kubernetes support, native Helm integration, direct .tfvars compatibility, and a new pub…", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=5241003&width=800", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://res.infoq.com/news/2026/05/formae-k8s-helm-integration/en/headerimage/generatedHeaderImage-1779526130360.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.415Z" + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true }, { - "id": "03b0fd63a2f5", - "title": "Doom soundtrack added to National Recording Registry", - "link": "https://www.theregister.com/personal-tech/2026/05/18/doom-soundtrack-added-to-national-recording-registry/5241709", - "source": "The Register", - "sourceId": "the-register", - "category": "General", - "publishedAt": "2026-05-18T07:30:00.000Z", - "summary": "The perennial question \"Can it run Doom?\" has a new answer, of sorts, after the USA's Library of Congress (LOC) added the iconic game's soundtrack to its National Recording Registry. An announcement of this year's new ad…", + "id": "508ac9581261", + "title": "007 First Light delivers a blockbuster Bond origin story packed with spycraft, stealth and explosive action set pieces", + "link": "https://www.techradar.com/gaming/007-first-light-review", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T12:00:00.000Z", + "summary": "007 First Light is undeniably cinematic, perfectly immersing you in Ian Flemming’s Bond with a high-stakes linear narrative, sleek gadget mechanics and globe-trotting levels.", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=5241734&width=800", - "fallbackImage": "/assets/fallbacks/general.svg", + "image": "https://cdn.mos.cms.futurecdn.net/5HW8U5p9ZDqWeUqoLAe3UR-1280-80.png", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.416Z" + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "64de174d576c", - "title": "Exploit available for new DirtyDecrypt Linux root escalation flaw", - "link": "https://www.bleepingcomputer.com/news/security/exploit-available-for-new-dirtydecrypt-linux-root-escalation-flaw/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", - "category": "Security", - "publishedAt": "2026-05-18T07:18:33.000Z", - "summary": "A recently patched local privilege escalation vulnerability in the Linux kernel's rxgk module now has a proof-of-concept exploit that allows attackers to gain root access on some Linux systems. [...]", + "id": "a0cf075407fe", + "title": "Geekom A9 Max mini PC (2026) review: The latest update to the powerful AI mini PC is a desktop-class computer with workstation-level performance", + "link": "https://www.techradar.com/computing/geekom-a9-max-mini-pc-2026-review", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T11:58:04.000Z", + "summary": "This compact premium mini PC has been built with AI and creative workloads in mind.", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2024/05/31/Linux.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://cdn.mos.cms.futurecdn.net/HiFPW5b6iPTStwW4Drr2Bo-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "28ea519925d0", - "title": "Pre-Stuxnet Fast16 Malware Tampered with Nuclear Weapons Simulations", - "link": "https://thehackernews.com/2026/05/pre-stuxnet-fast16-malware-tampered.html", + "id": "1510c0ff3ba8", + "title": "[THN Webinar] New AI DDoS Attacks Are Smarter. Learn How to Fight Back", + "link": "https://thehackernews.com/2026/05/new-ai-ddos-attacks-are-smarter-learn.html", "source": "The Hacker News", "sourceId": "the-hacker-news", "category": "Security", - "publishedAt": "2026-05-18T06:46:37.000Z", - "summary": "A new analysis of the Lua-based fast16 malware has confirmed that it was a cyber sabotage tool designed to tamper with nuclear weapons testing simulations. According to Broadcom-owned Symantec and Carbon Black teams, the…", + "publishedAt": "2026-05-26T11:58:00.000Z", + "summary": "Every single day, hackers are finding new ways to crash websites and steal data. But right now, something has changed. Hackers are no longer working alone. They are now using powerful Artificial Intelligence (AI) tools t…", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis3jEEpg3n_4z5YYUwDaXETZ4KJGxCqjzrZMHUmpgvOCC7pxoSs6Rn9klL5REej9UUJJxIrOstlQDWjbTeAOUhJ7wFSoTvpLkOVx3hb5fKerxA6NkeNMDQ7bt4F-kLwEPXWZPCsVa_wXaonk9mb9CKTF4cVDToquGN57Xzw1VmszeNoEKVEvtcHMSnTCOi/s1600/fast16-stuxnet.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.510Z" - }, - { - "id": "131faff513e0", - "title": "The occasional `ECONNRESET`", - "link": "https://movq.de/blog/postings/2026-05-05/1/POSTING-en.html", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "Security", - "publishedAt": "2026-05-18T06:42:29.000Z", - "summary": "", - "summaryType": "", - "image": null, + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiphaRoHMD4mkIzApkJZumEOEdIR0c_RxQrvmjv5qM6Kgo8MBnKrIAxicsojC-CdXhcOfRR9t0DxQeyEMXjXtER-bkSqe97zvFr7mfz3HjwA-79JjLWg0IwhZFTulr__kB02fXgX09tOpLWUjqy-fFmQbfvCZG-2uLLAhJpFAFrPo5d9H0PVZHEaSvmZKFE/s1600/ddossss.jpg", "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.099Z" - }, - { - "id": "b4554be26b56", - "title": "Navigation API Reaches Baseline Newly Available as Replacement to the History API", - "link": "https://www.infoq.com/news/2026/05/navigation-api-browser/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-18T06:33:00.000Z", - "summary": "The Navigation API is a new interface for managing client-side navigation in single-page applications, now available in major browsers as of January 2026. It addresses limitations of the prior History API by providing a …", - "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/navigation-api-browser/en/headerimage/generatedHeaderImage-1778758510358.jpg", - "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:27.731Z", + "sponsored": true }, { - "id": "6527cc622bcd", - "title": "Backup script ingested an accidental asterisk and deleted everything", - "link": "https://www.theregister.com/storage/2026/05/18/backup-script-ingested-an-accidental-asterisk-and-deleted-everything/5240173", - "source": "The Register", - "sourceId": "the-register", - "category": "General", - "publishedAt": "2026-05-18T06:30:00.000Z", - "summary": "WHO, ME? Welcome to Monday morning, the time of week when The Register always asks “Who, Me?” because that’s the title of our reader-contributed column in which you confess to having made a mess, and found a way to egres…", + "id": "38e8913c01e4", + "title": "Spotify is adding long-form articles to its audiobook library", + "link": "https://www.engadget.com/2180919/spotify-narrated-articles-audiobook-library/", + "source": "Engadget", + "sourceId": "engadget", + "category": "DevOps", + "publishedAt": "2026-05-26T11:54:22.000Z", + "summary": "Spotify has teamed up with publications, including Rolling Stone, Variety, Billboard, WIRED and Pitchfork to offer subscribers narrated articles.", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=5240190&width=800", - "fallbackImage": "/assets/fallbacks/general.svg", + "image": "https://www.engadget.com/img/gallery/spotify-is-adding-long-form-articles-to-its-audiobook-library/l-intro-1779796364.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.416Z" + "fetchedAt": "2026-05-26T13:50:29.516Z", + "sponsored": true }, { - "id": "f1ec214c14f8", - "title": "Project Glasswing: what Mythos showed us", - "link": "https://blog.cloudflare.com/cyber-frontier-models/", - "source": "Cloudflare Blog", - "sourceId": "cloudflare-blog", - "category": "Architecture", - "publishedAt": "2026-05-18T06:00:00.000Z", - "summary": "For the last few months, we've been testing a range of security-focused LLMs on our own infrastructure. These LLMs help identify potential vulnerabilities in our own systems, so we can fix them – and they also show us wh…", + "id": "420f9b9313ca", + "title": "Sources: SpaceX successfully pressured the Pentagon to raise Starlink fees for LUCAS kamikaze drones amid increasing tensions over Starlink's pricing (David Jeans/Reuters)", + "link": "https://www.techmeme.com/260526/p10", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T11:51:02.000Z", + "summary": "David Jeans / Reuters : Sources: SpaceX successfully pressured the Pentagon to raise Starlink fees for LUCAS kamikaze drones amid increasing tensions over Starlink's pricing — As U.S. kamikaze drones guided by Elon…", "summaryType": "snippet", - "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5St6rLRq9wkuxwmLHZ88CV/b4eb948c917ef7f7b0028ccc8ec0aefe/image2.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", + "image": "http://www.techmeme.com/260526/i10.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.992Z" + "fetchedAt": "2026-05-26T13:50:29.541Z", + "sponsored": true }, { - "id": "97c19592df05", - "title": "Grafana Labs admits all its codebase are belong to someone who popped its GitHub account", - "link": "https://www.theregister.com/cyber-crime/2026/05/18/grafana-labs-admits-attackers-downloaded-its-codebase-from-github/5241686", - "source": "The Register", - "sourceId": "the-register", + "id": "553e76e30343", + "title": "Microsoft Patches SharePoint RCE Flaw CVE-2026-45659 Across Server Versions", + "link": "https://thehackernews.com/2026/05/microsoft-patches-sharepoint-rce-flaw.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", "category": "Security", - "publishedAt": "2026-05-18T05:46:31.000Z", - "summary": "Observability outfit Grafana Labs has revealed that an attacker accessed its GitHub repository and stole its codebase. In social media posts the company blamed the situation on an “unauthorized party” who was somehow abl…", + "publishedAt": "2026-05-26T11:49:53.000Z", + "summary": "Microsoft has rolled out updates to fix a remote code execution vulnerability impacting SharePoint that could be exploited by bad actors in attacks without requiring any specialized conditions to be met. The vulnerabilit…", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=224087&width=800", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi34meakbjhvY3-jNVG7Q8tPJ5Xk1a-vtGSeKgfVDApX6pn88G7gYhK2oz34my6QeWHsldmSJuV4o8tlBOmw-9Ul32EJYhC-aFmExZvn6ibinw10_4DhBf6pHmIum2Ha_HggakezqS_uKiOPJzrIdwioMru5Oj74p87z_ZbQt_c-bH8kQl6jEXYycod7Vrw/s1600/sharepoint.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.416Z" + "fetchedAt": "2026-05-26T13:50:27.731Z", + "sponsored": true }, { - "id": "07ab3290f108", - "title": "Hackers earn $1,298,250 for 47 zero-days at Pwn2Own Berlin 2026", - "link": "https://www.bleepingcomputer.com/news/security/hackers-earn-1-298-250-for-47-zero-days-at-pwn2own-berlin-2026/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", - "category": "Security", - "publishedAt": "2026-05-18T05:33:20.000Z", - "summary": "The Pwn2Own Berlin 2026 hacking contest has concluded, with security researchers collecting $1,298,250 in rewards after exploiting 47 zero-day flaws. [...]", - "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2025/05/19/Pwn2Own_Berlin.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "id": "35e1223732dc", + "title": "Eagle 3.1: Collaboration Between the EAGLE Team, vLLM Team, and TorchSpec Team", + "link": "https://vllm.ai/blog/2026-05-26-eagle-3-1", + "source": "Hacker News", + "sourceId": "hacker-news", + "category": "DevOps", + "publishedAt": "2026-05-26T11:46:10.000Z", + "summary": "The EAGLE team, vLLM team, and TorchSpec team have jointly introduced EAGLE 3.1, a major step forward in speculative decoding robustness, efficiency, and deployability. This update addresses issues such as attention drift, which can lead to unstable performance under different chat templates, long-context inputs, or out-of-distribution system prompts. By introducing FC normalization after each target hidden state and before the FC layer, EAGLE 3.1 improves robustness across deployment scenarios, demonstrating better training-time to inference-time extrapolation, stronger long-context robustness, and higher resilience to chat template and system prompt variation.", + "summaryType": "ai", + "image": "https://vllm.ai/og?title=EAGLE%203.1%3A%20Advancing%20Speculative%20Decoding%20Through%20Collaboration%20Between%20the%20EAGLE%20Team%2C%20vLLM%2C%20and%20TorchSpec&authors=EAGLE%20Team%2C%20vLLM%20Team%2C%20and%20TorchSpec%20Team&date=2026-05-26&path=/blog", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true }, { - "id": "82dbba958628", - "title": "Review: Sylve on FreeBSD", - "link": "https://distrowatch.com/weekly-mobile.php?issue=20260518", - "source": "Lobsters", - "sourceId": "lobsters", + "id": "5c3927e19b3e", + "title": "Netherlands blocks US takeover of vital digital supplier", + "link": "https://www.politico.eu/article/netherlands-blocks-us-takeover-vital-digital-supplier/", + "source": "Hacker News", + "sourceId": "hacker-news", "category": "DevOps", - "publishedAt": "2026-05-18T04:28:13.000Z", - "summary": "", - "summaryType": "", - "image": null, + "publishedAt": "2026-05-26T11:46:08.000Z", + "summary": "The Netherlands' government is blocking US-based company Kyndryl's attempt to acquire Solvinity, a key online identification IT supplier for the country's DigiD app. The acquisition would have posed a risk to the public interest due to concerns about foreign control of Dutch technology and infrastructure. The decision comes ahead of the European Commission unveiling its tech sovereignty package, which aims to reduce reliance on foreign technology in areas such as cloud, microchips, and AI.", + "summaryType": "ai", + "image": "https://www.politico.eu/cdn-cgi/image/width=1200,height=630,fit=crop,quality=80,onerror=redirect/wp-content/uploads/2026/05/26/phone.jpg", "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.100Z" + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true }, { - "id": "e7548e8af686", - "title": "Researcher says Microsoft secretly built a backdoor into BitLocker", - "link": "https://www.techspot.com/news/112410-security-researcher-microsoft-secretly-built-backdoor-bitlocker-releases.html", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "Security", - "publishedAt": "2026-05-18T03:06:03.000Z", - "summary": "Microsoft has reportedly built a backdoor into its encryption technology, allowing hackers to access and modify critical data. The researcher claims that this is not an isolated incident but part of a broader strategy aimed at gaining control over the Windows operating system and other systems. This discovery could have significant implications for developers who rely on BitLocker for secure file storage and management. Developers need to stay informed about these developments, as they may be used by malicious actors to compromise sensitive information or disrupt critical operations.", - "summaryType": "ai", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.098Z" + "id": "de7d32bc2071", + "title": "Adorama's Memorial Day sale is ending soon — don't miss these record-low prices on the Nikon Z6 III, Sony a7CR, Canon R5 Mark II, and much more", + "link": "https://www.techradar.com/cameras/mirrorless-cameras/adoramas-memorial-day-sale-is-ending-soon-dont-miss-these-record-low-prices-on-the-nikon-z6-iii-sony-a7cr-canon-r5-mark-ii-and-much-more", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T11:44:38.000Z", + "summary": "Adorama's massive Memorial Day sale is drawing to a close this Sunday - don't miss your chance to get a deal on Sony, Canon, Nikon, and many other leading brands.", + "summaryType": "snippet", + "image": "https://cdn.mos.cms.futurecdn.net/84EusrVQELRerxjydKzLGW-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "c8a35fb22179", - "title": "It is time to give up the dualism introduced by the debate on consciousness", - "link": "https://www.noemamag.com/there-is-no-hard-problem-of-consciousness/", + "id": "0a18742314ad", + "title": "GitHub Actions down again today", + "link": "https://www.githubstatus.com/?today", "source": "Hacker News", "sourceId": "hacker-news", - "category": "AI", - "publishedAt": "2026-05-18T02:59:34.000Z", - "summary": "It is time to give up the dualism introduced by the debate on consciousness. The current debate on consciousness reflects our entrenched traditional ideas of ourselves and by the long, slow effort to update them with new understandings of reality developed over the last three centuries. Despite the arrogant claims of those who say science can “explain everything,” most phenomena, from thunderstorms to protein folding, escape our full understanding. We still cannot cure the flu or accurately predict the weather two weeks ahead. We do not know the basic physical laws of the universe and even where we are confident that we know the underlying natural laws, we still cannot account for what they imply. The current debate on consciousness is influenced by our entrenched traditional ideas of ourselves and by the long, slow effort to update them with new understandings of reality developed over the last three centuries. Despite the arrogant claims of those who say science can “explain everything,” most phenomena, from thunderstorms to protein folding, escape our full understanding.", + "category": "DevOps", + "publishedAt": "2026-05-26T11:42:58.000Z", + "summary": "GitHub Actions is experiencing technical difficulties, with some users reporting issues with the service. The problem may be related to a recent security update or an internal issue within GitHub's infrastructure. Developers who rely on GitHub Actions for automating tasks and workflows should monitor the situation closely and adjust their strategies accordingly.", "summaryType": "ai", - "image": "https://noemamag.imgix.net/2026/05/Noema_FlorianMeissner_2.jpg?fit=crop&fm=pjpg&h=628&ixlib=php-3.3.1&w=1200&wpsize=noema-social-facebook&s=1967d5f91d8af468ce455230916d2bcd", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "image": null, + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true }, { - "id": "b1d50550b2fe", - "title": "Samsung's weather app sparks storm of controversy by handing territory to North Korea", - "link": "https://www.theregister.com/personal-tech/2026/05/18/samsungs-weather-app-sparks-storm-of-controversy-by-handing-territory-to-north-korea/5241656", - "source": "The Register", - "sourceId": "the-register", - "category": "Security", - "publishedAt": "2026-05-18T02:47:09.000Z", - "summary": "ASIA IN BRIEF Samsung found itself facing down controversy in South Korea last week, when the weather app pre-installed on many of its devices incorrectly labelled an island territory named Dokdo as part of North Korea. …", + "id": "b9812d3ce912", + "title": "Arkane devs say the studio almost made Thief 4 and a Blade Runner game before it made Dishonored — 'We were both so excited. Blade Runner and Thief, two of our favourite things of all time'", + "link": "https://www.techradar.com/gaming/gaming-industry/arkane-devs-say-the-studio-almost-made-thief-4-and-a-blade-runner-game-before-it-made-dishonored-we-were-both-so-excited-blade-runner-and-thief-two-of-our-favourite-things-of-all-time", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T11:40:16.000Z", + "summary": "According to two former Arkane Studios developers, the studio almost made a Blade Runner game and Thief 4 before it made Dishonored.", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=4093112&width=800", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://cdn.mos.cms.futurecdn.net/5iBTpNEogtjtYD7McMxqS6-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.416Z" + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "452212c7506b", - "title": "Reverse engineering Android malware with Claude Code", - "link": "https://zanestjohn.com/blog/reing-with-claude-code", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "AI", - "publishedAt": "2026-05-18T02:13:10.000Z", - "summary": "Reverse engineering Android malware with Claude Code involves analyzing the pre-installed apps and APKs to identify suspicious packages that can be used for malicious purposes, such as rooting or accessing sensitive data. The article highlights how developers can use tools like Claude Code to reverse engineer Android malware by examining the pre-installed apps and APKs on a device.", - "summaryType": "ai", - "image": null, - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.100Z" + "id": "c589777647a8", + "title": "'Somehow worse than I could ever have imagined': the new Ferrari Luce EV is getting a brutal reception, but legendary Apple designer Jony Ive has defended his choices — and there's one key decision most people agree with", + "link": "https://www.techradar.com/vehicle-tech/hybrid-electric-vehicles/somehow-worse-than-i-could-ever-have-imagined-the-new-ferrari-luce-ev-is-getting-a-brutal-reception-but-legendary-apple-designer-jony-ive-has-defended-his-choices-and-theres-one-key-decision-most-people-agree-with", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T11:37:28.000Z", + "summary": "The Ferrari Luce is here, and has attracted a wave of criticism online — though Ferrari may not mind too much.", + "summaryType": "snippet", + "image": "https://cdn.mos.cms.futurecdn.net/gGgKnBYhuJq8ZA65MH5uAZ-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "144e4e3877a5", - "title": "Rust async and the ARM generic timer", - "link": "https://thejpster.org.uk/blog/blog-2026-05-17/", - "source": "Lobsters", - "sourceId": "lobsters", + "id": "57cd81e7858c", + "title": "AI-generated threats are hitting businesses harder than ever - do you know what to look out for?", + "link": "https://www.techradar.com/pro/security/ai-generated-threats-are-hitting-businesses-harder-than-ever-do-you-know-what-to-look-out-for", + "source": "TechRadar", + "sourceId": "techradar", "category": "AI", - "publishedAt": "2026-05-18T00:28:51.000Z", - "summary": "Rust async and the Arm generic timer are two key technologies in Rust programming. The ARM generic timer is a standard feature of every version of the Arm Architecture M-Profile, providing a way to schedule interrupts at regular intervals. While it's not as efficient as some other timers, it can be used for programmable alarms or preemption in C RTOSes. However, building an example that gets into fn main() and perhaps fires a few interrupts is fine and all that, but most people using these big processors are going to want a bit more - some sort of framework that lets them run multiple tasks concurrently (whether using pre-emptive task switching or co-operative scheduling) and manage a list of upcoming events. In Rust, many people use Embassy or RTIC for this. So how hard can be it to run these frameworks on the Armv8-R AArch32 architecture?", - "summaryType": "ai", - "image": null, + "publishedAt": "2026-05-26T11:35:00.000Z", + "summary": "Crooks are using AI to create entire fake personas and bypass KYC, experts warn.", + "summaryType": "snippet", + "image": "https://cdn.mos.cms.futurecdn.net/7njQyog6ZEn4co6vDDG9AT-1280-80.jpg", "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.100Z" + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "e9a3efa884c4", - "title": "May I recommend eww for Emacs’s innovative UI?", - "link": "https://www.matem.unam.mx/~omar/apropos-emacs.html", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "AI", - "publishedAt": "2026-05-17T23:41:06.000Z", - "summary": "EWW offers a more user-friendly and visually appealing interface compared to standard browsers, making it ideal for developers looking to improve their Emacs experience. The key technology here is the ability to resize images without affecting other elements on the page. This feature is particularly useful in applications that require precise control over layout and content, such as web development tools or specialized software. Developers can easily apply this feature by using the `image-increase-size` command bound to `i +`, which allows users to adjust image sizes dynamically within their Emacs environment. This innovative UI enhancement makes EWW a valuable tool for developers who frequently work with images or text-heavy websites, enhancing both usability and productivity.", - "summaryType": "ai", - "image": null, - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.100Z" + "id": "18c6b8ea4314", + "title": "The best Nintendo Switch 2 controllers: the handheld hybrids top gamepads, all tested and reviewed by us", + "link": "https://www.techradar.com/gaming/best-nintendo-switch-2-controllers", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T11:34:31.000Z", + "summary": "Read all about the best Nintendo Switch 2 controllers available today in this one-stop buying guide.", + "summaryType": "snippet", + "image": "https://cdn.mos.cms.futurecdn.net/kFRptyYuZ3wDn9WzPefWLF-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "52ed8cf3899e", - "title": "Surprise AI bills leave AWS and Google Cloud users aghast", - "link": "https://www.theregister.com/ai-ml/2026/05/18/surprise-ai-bills-leave-aws-and-google-cloud-users-aghast/5241348", - "source": "The Register", - "sourceId": "the-register", - "category": "AI", - "publishedAt": "2026-05-17T23:00:00.000Z", - "summary": "KETTLE Hopefully you haven't had reason to notice yet, but there's a rising problem with AI services on Google Cloud, AWS, and other platforms sticking their customers with bills in the tens of thousands of dollars. This…", + "id": "2380288143aa", + "title": "Microsoft promised it would scale back on AI visibility, but Copilot is now back to its original and invasive sidebar design", + "link": "https://www.techradar.com/computing/windows/microsoft-promised-it-would-scale-back-on-ai-visibility-but-copilot-is-now-back-to-its-original-and-invasive-sidebar-design", + "source": "TechRadar", + "sourceId": "techradar", + "category": "DevOps", + "publishedAt": "2026-05-26T11:24:13.000Z", + "summary": "Microsoft is seemingly undecided on what to do with Copilot and AI on Windows 11, as the AI assistant has just been reverted to its original design.", "summaryType": "snippet", - "image": "https://image.theregister.com/?imageId=5240671&width=800", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://cdn.mos.cms.futurecdn.net/UMiQfaWfVDppubqsunwNNM-1280-80.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.417Z" + "fetchedAt": "2026-05-26T13:50:29.673Z", + "sponsored": true }, { - "id": "64d02c2020fb", - "title": "New Windows 'MiniPlasma' zero-day exploit gives SYSTEM access, PoC released", - "link": "https://www.bleepingcomputer.com/news/microsoft/new-windows-miniplasma-zero-day-exploit-gives-system-access-poc-released/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", - "category": "Security", - "publishedAt": "2026-05-17T22:30:08.000Z", - "summary": "A cybersecurity researcher has released a proof-of-concept exploit for a Windows privilege escalation zero-day dubbed \"MiniPlasma\" that lets attackers gain SYSTEM privileges on fully patched Windows systems. [...]", + "id": "6d95fc279efd", + "title": "US law enforcement documents: the DHS, FBI, and other agencies introduce a novel domestic threat category termed \"anti-tech violent extremism\" amid the AI boom (Daniel Boguslaw/Wired)", + "link": "https://www.techmeme.com/260526/p9", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T11:20:47.000Z", + "summary": "Daniel Boguslaw / Wired : US law enforcement documents: the DHS, FBI, and other agencies introduce a novel domestic threat category termed “anti-tech violent extremism” amid the AI boom — As Americans s…", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2021/09/20/Windows.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "http://www.techmeme.com/260526/i9.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:29.541Z", + "sponsored": true }, { - "id": "0b873b0e2249", - "title": "GenCAD", - "link": "https://gencad.github.io/", + "id": "8146733ae776", + "title": "Incident with Actions and Pages", + "link": "https://www.githubstatus.com/incidents/gnftqj9htp0g", "source": "Hacker News", "sourceId": "hacker-news", - "category": "AI", - "publishedAt": "2026-05-17T21:40:35.000Z", - "summary": "GenCAD is a new image-conditional CAD generation model that combines multiple modalities of computational engineering designs to generate parametric CAD command sequences, which can then be converted into 3D solid models using a geometry kernel. The core of GenCAD involves four critical steps: an autoregressive transformer encoder for learning the latent representation of CAD command sequences, a contrastive learning-based model for learning joint representations between CAD command sequences and CAD-images, a latent diffusion model that generates the latent representation of CAD command sequences conditioned on CAD-images, and finally, a decoder model that converts CAD latents into parametric CAD commands. The work represents a significant step forward in CAD, offering more precise and modifiable 3D modeling from images, potentially enhancing automated design processes.", + "category": "DevOps", + "publishedAt": "2026-05-26T11:10:19.000Z", + "summary": "GitHub has introduced a new feature that allows users to receive email notifications whenever an incident is created, updated or resolved on their account. The service uses reCAPTCHA and the Google Privacy Policy and Terms of Service apply. This feature can be enabled by subscribing to GitHub's updates.", "summaryType": "ai", "image": null, - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.365Z" - }, - { - "id": "b9a01dfe292c", - "title": "Kernel prepatch 7.1-rc4", - "link": "https://lwn.net/Articles/1073193/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-17T21:39:26.000Z", - "summary": "The 7.1-rc4 kernel prepatch is out for testing. Some of the documentation updates might be worth highlighting: the continued flood of AI reports has basically made the security list almost entirely unmanageable, with eno…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true }, { - "id": "cc99f6bd3563", - "title": "Fits on a Floppy - A Manifesto for Small Software", - "link": "https://fitsonafloppy.com/", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "General", - "publishedAt": "2026-05-17T21:14:23.000Z", - "summary": "In a world where application are getting bigger and bigger seeing application that do something useful while still fitting in a floppy disk is remarkable. To be fair, the apps linked there heavily use the iOS and macOS S…", + "id": "364ad140c946", + "title": "Figuring Out What James Webb’s Mysterious Little Red Dots Are", + "link": "https://hackaday.com/2026/05/26/figuring-out-what-james-webbs-mysterious-little-red-dots-are/", + "source": "Hackaday", + "sourceId": "hackaday", + "category": "DevOps", + "publishedAt": "2026-05-26T11:00:27.000Z", + "summary": "After the James Webb Space Telescope (JWST) began operations in 2022, it soon made a tantalizing discovery in the form of mysterious red dots: small, red-tinted astronomical objects of unknown origin and composition. So …", "summaryType": "snippet", - "image": "https://fitsonafloppy.com/fits-on-a-floppy-screenshot.png", - "fallbackImage": "/assets/fallbacks/general.svg", + "image": "https://hackaday.com/wp-content/uploads/2024/04/chandraxray_feat.jpg?w=800", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.099Z" + "fetchedAt": "2026-05-26T13:50:29.298Z", + "sponsored": true }, { - "id": "e1ef638d6591", - "title": "OpenAI Open-Sources Symphony, a SPEC.md for Autonomous Coding Agent Orchestration", - "link": "https://www.infoq.com/news/2026/05/openai-symphony-agents/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", + "id": "2726e778cc18", + "title": "The Cookware Industry Has a Major Fight Brewing Over PFAS Claims", + "link": "https://www.wired.com/story/cookware-industry-legal-fight-pfas-claims/", + "source": "Wired", + "sourceId": "wired", "category": "DevOps", - "publishedAt": "2026-05-17T20:00:00.000Z", - "summary": "OpenAI Symphony is an agent orchestrator that uses project-management tools, like issue trackers, as a control plan to coordinate multiple coding agents. Instead of developers managing interactive coding sessions, Sympho…", + "publishedAt": "2026-05-26T11:00:00.000Z", + "summary": "There’s a new front in the war over the safety of chemicals used to make nonstick pans.", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/openai-symphony-agents/en/headerimage/openai-symphony-1779047353917.jpg", + "image": "https://media.wired.com/photos/6a0f33524bfa87f10e0f19eb/master/pass/GettyImages-2198332668.jpg", "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "1da77694a258", - "title": "RIP Peter G. Neumann", - "link": "https://lwn.net/Articles/1073186/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-17T19:36:06.000Z", - "summary": "We have received word that Peter G. Neumann, who, among many other things, ran the RISKS Digest for decades, has passed away. He will be much missed. Update : the New York Times has published an obituary of Dr. Neuman.", + "id": "1f4207a12338", + "title": "Pony AI reports Q1 revenue up 145% YoY to ~$34.3M, above $21.7M est., and increases its 2026 robotaxi fleet target by 500 to 3,500 vehicles on fast growth (Linda Lew/Bloomberg)", + "link": "https://www.techmeme.com/260526/p8", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T10:50:50.000Z", + "summary": "Linda Lew / Bloomberg : Pony AI reports Q1 revenue up 145% YoY to ~$34.3M, above $21.7M est., and increases its 2026 robotaxi fleet target by 500 to 3,500 vehicles on fast growth — Pony AI Inc. raised its robotaxi …", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "image": "http://www.techmeme.com/260526/i8.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.541Z", + "sponsored": true }, { - "id": "2996aeae885f", - "title": "New design for the FreeBSD website", - "link": "https://www.freebsd.org/", + "id": "6f58cff82700", + "title": "Using SwiftUI to Build a Mac-assed App in 2026", + "link": "https://pfandrade.me/blog/mac-assed-swiftui-app/", "source": "Lobsters", "sourceId": "lobsters", "category": "General", - "publishedAt": "2026-05-17T18:36:41.000Z", - "summary": "The commit introducing the new design: https://cgit.freebsd.org/doc/commit/?id=c9c518d9dbb70240c23810f300ce4a5ba60442c6", - "summaryType": "snippet", + "publishedAt": "2026-05-26T10:40:40.000Z", + "summary": "Shopie's macOS version allows developers to build native apps that seamlessly integrate with the operating system's features, adopting system controls and conventions, and using native technologies such as Password AutoFill and Safari app extensions. While SwiftUI shortcomings on macOS are evident, including issues with selection states, inactive windows, and active versus inactive window behavior, these challenges can be overcome with careful planning and implementation.", + "summaryType": "ai", "image": null, "fallbackImage": "/assets/fallbacks/general.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.099Z" + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true }, { - "id": "6441054d82dd", - "title": "Some weekend stable kernel updates", - "link": "https://lwn.net/Articles/1073161/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-17T17:43:12.000Z", - "summary": "The 7.0.9 , 6.18.32 , 6.12.90 , and 6.6.140 stable kernels have been released. Each contains yet another set of important fixes.", + "id": "8fad3af922d6", + "title": "Graham Dumpleton: WSGISwitchInterval in mod_wsgi 6.0.0", + "link": "https://grahamdumpleton.me/posts/2026/05/wsgi-switch-interval-in-mod-wsgi-6-0-0/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T10:38:41.000Z", + "summary": "The first two posts in this series covered new directives in mod_wsgi 6.0.0 that change the concurrency model the interpreter runs under. WSGIPerInterpreterGIL opts a sub-interpreter into its own GIL. WSGIFreeThreading o…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "image": "https://opengraph.githubassets.com/f2c89ef1/GrahamDumpleton/mod_wsgi", + "fallbackImage": "/assets/fallbacks/python.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.296Z", + "sponsored": true }, { - "id": "4bb9f5ba33e0", - "title": "Don't answer the first question", - "link": "https://lalitm.com/post/dont-answer-the-first-question/", - "source": "Lobsters", - "sourceId": "lobsters", + "id": "bf6994b39180", + "title": "MFA Prompt Bombing: Why Your Second Factor Isn't Saving You", + "link": "https://thehackernews.com/2026/05/mfa-prompt-bombing-why-your-second.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", "category": "Security", - "publishedAt": "2026-05-17T16:28:54.000Z", - "summary": "In my work on Perfetto, a performance debugging tool, one question I get often is: \"how do I split a Perfetto trace into multiple files?\" Instead of answering directly, I say: \"there isn’t an easy way to do that, but what’s leading you to collect traces large enough to want to split?” This is one of my golden rules at work. When a user asks me something “weird”: don't answer the first version of the question. On the surface this might appear like I'm talking about the XY problem, but that stops one step short. It treats the user's stated question as a puzzle to decode: figure out what they really meant, answer that, move on. I think we can go much further. Instead, the confusion that produced the wrong question is itself an opening, and the conversation it sparks is valuable to both sides. The user walks away with a better mental model of the tool.", - "summaryType": "ai", - "image": null, + "publishedAt": "2026-05-26T10:30:00.000Z", + "summary": "Multi-factor authentication (MFA) was supposed to close a critical gap in identity security. It meant that, even if an attacker possessed the account credentials, they couldn't log in without the second factor. While tha…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtums9LZoPXx5AzbNIYmdrNPI6vAAWAnYGfW6NzZ4DkICva0wX2GjMPvmYoq4EVuhvWUc6FyLrgJJ0Hvh8w0TBJ4MLkQplbffUwg89oiQxoJhV-93mboD0D2rdkrrhsblZ2tLJv-auc2GBNjIMsg8wGUCYOkZHNDHaQoqhDbLXrFC3-rD3cz0pI12U7rR2/s1600/prompt-1.jpg", "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.099Z" + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.732Z", + "sponsored": true }, { - "id": "88ffebdf669d", - "title": "Reviewing so called Pull Requests at $dayjob", - "link": "https://rkta.de/dayjob-pr-review.html", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "Security", - "publishedAt": "2026-05-17T15:40:32.000Z", - "summary": "Pull requests are a powerful feature in version control systems that allow developers to easily merge changes from one branch into another. They enable collaboration and communication among team members, as well as the ability to track changes made by each developer. In this article, we will focus on how Pull Requests work, their importance for developers, and why they matter.\nPull requests are a powerful feature in version control systems that allow developers to easily merge changes from one branch into another. They enable collaboration and communication among team members, as well as the ability to track changes made by each developer. By using Pull Requests, developers can quickly and efficiently make changes to their codebase without having to worry about maintaining separate branches for each change.\nPull requests are a key technology in modern software development because they allow developers to work collaboratively on projects, share code, and collaborate with other team members.", - "summaryType": "ai", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.100Z" + "id": "67aa137cf6d9", + "title": "Big Tech extracts retirement-scale wealth from UK internet users, research shows", + "link": "https://www.theregister.com/off-prem/2026/05/26/big-tech-extracts-retirement-scale-wealth-from-uk-internet-users-research-shows/5246048", + "source": "The Register", + "sourceId": "the-register", + "category": "DevOps", + "publishedAt": "2026-05-26T10:30:00.000Z", + "summary": "Brits are apparently giving away the equivalent of a retirement fund every time they mindlessly hammer \"Accept All Cookies\" just to read a recipe online. A new white paper [PDF] from the Web3 Foundation, a Swiss nonprofi…", + "summaryType": "snippet", + "image": "https://image.theregister.com/?imageId=5216834&width=800", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.749Z", + "sponsored": true }, { - "id": "badaa371fad3", - "title": "Coding on Paper", - "link": "https://wickstrom.tech/2026-05-16-coding-on-paper.html", - "source": "Lobsters", - "sourceId": "lobsters", - "category": "AI", - "publishedAt": "2026-05-17T15:28:30.000Z", - "summary": "Coding on Paper is an article about the Onyx BOOX 25.3” Mira Pro Color monitor, which I've been using as my primary monitor since three months ago. The article discusses the reasons why this monitor works for me, such as its ability to make me energetic and happy during workdays, its direct sunlight exposure, and its minimalistic design that makes it suitable for coding environments like Neovim. The author also mentions their experience with other e-ink monitors and highlights some of the differences between them, including their display quality, contrast settings, and color schemes.", - "summaryType": "ai", - "image": null, - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.100Z" + "id": "0632b6935a6b", + "title": "Ucell and ZTE complete large-scale deployment of AI‑Powered green network solution in Uzbekistan", + "link": "https://www.theregister.com/networks/2026/05/26/ucell-and-zte-complete-large-scale-deployment-of-aipowered-green-network-solution-in-uzbekistan/5246097", + "source": "The Register", + "sourceId": "the-register", + "category": "DevOps", + "publishedAt": "2026-05-26T10:25:26.000Z", + "summary": "Partner Content ZTE and Ucell, one of Uzbekistan's largest mobile operators, announced the full commercial deployment of ZTE's RAN AI‑powered energy‑saving solution across Ucell's network. This milestone significantly ad…", + "summaryType": "snippet", + "image": "https://image.theregister.com/?imageId=5246101&width=800", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.749Z", + "sponsored": true }, { - "id": "ef1239be17be", - "title": "Tycoon2FA hijacks Microsoft 365 accounts via device-code phishing", - "link": "https://www.bleepingcomputer.com/news/security/tycoon2fa-hijacks-microsoft-365-accounts-via-device-code-phishing/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", + "id": "fdbc69c8715d", + "title": "Spotify co-CEO Alex Norström defends the company's expansion into AI-generated music, arguing that \"controlled\" products are superior to unregulated AI \"slop\" (Financial Times)", + "link": "https://www.techmeme.com/260526/p7", + "source": "Techmeme", + "sourceId": "techmeme", "category": "Security", - "publishedAt": "2026-05-17T14:43:10.000Z", - "summary": "The Tycoon2FA phishing kit now supports device-code phishing attacks and abuses Trustifi click-tracking URLs to hijack Microsoft 365 accounts. [...]", + "publishedAt": "2026-05-26T10:25:01.000Z", + "summary": "Financial Times : Spotify co-CEO Alex Norström defends the company's expansion into AI-generated music, arguing that “controlled” products are superior to unregulated AI “slop” — Stream…", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2026/05/15/MS365.jpg", + "image": "http://www.techmeme.com/img/pml.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:29.542Z", + "sponsored": true }, { - "id": "c370f7423659", - "title": "Artem Golubin: PyPI packages are increasing rapidly", - "link": "https://rushter.com/blog/pypi-packages/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-17T13:37:15.000Z", - "summary": "PyPI is the main repository for Python packages. One thing that I've noticed recently is the number of published packages per week. Let's look at published counts of new package versions per week: There are some dips in …", + "id": "ac5c68524ab7", + "title": "Xiaomi reports Q1 revenue down 11% YoY to ~$14.6B, its first quarterly decline in three years, and net income down 57% to $695M amid a global memory price jump (Bloomberg)", + "link": "https://www.techmeme.com/260526/p6", + "source": "Techmeme", + "sourceId": "techmeme", + "category": "DevOps", + "publishedAt": "2026-05-26T10:10:03.000Z", + "summary": "Bloomberg : Xiaomi reports Q1 revenue down 11% YoY to ~$14.6B, its first quarterly decline in three years, and net income down 57% to $695M amid a global memory price jump — Xiaomi Corp.'s quarterly profit tanked m…", "summaryType": "snippet", - "image": "https://rushter.com/static/uploads/social/pypi-packages.png", - "fallbackImage": "/assets/fallbacks/python.svg", + "image": "http://www.techmeme.com/260526/i6.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.983Z" + "fetchedAt": "2026-05-26T13:50:29.542Z", + "sponsored": true }, { - "id": "e8d4345dfd14", - "title": "I turned a $80 RK3562 Android tablet into a Debian Linux workstation", - "link": "https://github.com/tech4bot/rk3562deb", - "source": "Hacker News", - "sourceId": "hacker-news", + "id": "6872e54637f2", + "title": "The SaaS-pocalypse can wait, Salesforce still has customers where it wants them", + "link": "https://www.theregister.com/saas/2026/05/26/the-saas-pocalypse-can-wait-salesforce-still-has-customers-where-it-wants-them/5245228", + "source": "The Register", + "sourceId": "the-register", "category": "DevOps", - "publishedAt": "2026-05-17T13:16:27.000Z", - "summary": "", - "summaryType": "", - "image": "https://opengraph.githubassets.com/7353f57f49d5800ef96c2f044a03c07d13ad6b50e1f01943be80561b2580618d/tech4bot/rk3562deb", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "Salesforce CEO Marc Benioff appeared on the VC podcast All-In last week to share his vision for the future of AI and software. Among the usual bonhomie – he skipped Trump's trip to China; he's not a Democrat or Republica…", + "summaryType": "snippet", + "image": "https://image.theregister.com/?imageId=254426&width=800", "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.749Z", + "sponsored": true }, { - "id": "57fae7b17981", - "title": "Native all the way, until you need text", - "link": "https://justsitandgrin.im/posts/native-all-the-way-until-you-need-text/", - "source": "Lobsters", - "sourceId": "lobsters", + "id": "47f0d5cf4444", + "title": "InfoQ Online Certification Program: New AI Engineering and Organizational Architecture Cohorts", + "link": "https://www.infoq.com/news/2026/05/online-cohort-certification-prog/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "DevOps", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "InfoQ expands its online certification portfolio with new AI Engineering and Organizational Architecture cohorts, giving senior practitioners a confidential peer group to pressure-test production AI, platform, team desig…", + "summaryType": "snippet", + "image": "https://res.infoq.com/news/2026/05/online-cohort-certification-prog/en/headerimage/online-cohort-certification-program-1779709293624.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true + }, + { + "id": "a31ef88ca39f", + "title": "AI Agents Plunged the Tech World Into Chaos. Here’s Exactly How That Happened", + "link": "https://www.wired.com/story/how-ai-agents-plunged-tech-world-into-chaos/", + "source": "Wired", + "sourceId": "wired", "category": "AI", - "publishedAt": "2026-05-17T12:57:07.000Z", - "summary": "Native all the way, until you need text is a journey from SwiftUI to NSTextView and then back again. The core topic revolves around the challenges developers face when trying to integrate native features into their applications, particularly in macOS development. Key technologies include Swift, SwiftUI, TextKit, AppKit, NSCollectionView, WebKit, and Markdown rendering. Developers often encounter issues like performance limitations, compatibility problems, and lack of support for modern text handling techniques. The article highlights the difficulties developers face when trying to create a chat application with Markdown support in a pure Swift / SwiftUI environment, emphasizing the importance of using native technologies for seamless integration.", - "summaryType": "ai", - "image": "https://justsitandgrin.im/posts/native-all-the-way-until-you-need-text/index.png", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "The definitive story of how Claude Code and OpenClaw kicked off computing’s biggest transformation possibly ever.", + "summaryType": "snippet", + "image": "https://media.wired.com/photos/69fdc08ed818d4f01db33c98/master/pass/wired_agents_web.gif", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.099Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "c17577b41e6a", - "title": "NGINX CVE-2026-42945 Exploited in the Wild, Causing Worker Crashes and Possible RCE", - "link": "https://thehackernews.com/2026/05/nginx-cve-2026-42945-exploited-in-wild.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-17T11:57:53.000Z", - "summary": "A newly disclosed security flaw impacting NGINX Plus and NGINX Open has come under active exploitation in the wild, days after its public disclosure, according to VulnCheck. The vulnerability, tracked as CVE-2026-42945 (…", + "id": "dd609708219e", + "title": "Quiz: Will AI Destroy Your Career?", + "link": "https://www.wired.com/story/quiz-will-ai-destroy-your-career/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "Some jobs may be toast. Some will survive. Click your answers to learn your fate.", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdFtAiSRukEdQXVvEzXdQKy0O9SY7RCuqFLuAEIBe4rECuQuUS76qEXnxPuEcKIIFUysRNOGdBW2Mf2n1sh1W35aU0nCksWiW7v-20p1K7RhdPPDnxKh7kt_OmQaPrmtYPJ3larEwWr9iHeQMoRtlW767YpsXBFP5-5CQ2jTJUB_jWaMmt_29uLJvaGZE_/s1600/nginx.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://media.wired.com/photos/6a0b67820ce29a972051a9e8/master/pass/ai_exposed_jobs.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.510Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "497ae0009581", - "title": "Neobank Monzo Builds Governed Data Mesh across 100 Teams and 12000 dbt Models", - "link": "https://www.infoq.com/news/2026/05/monzo-data-mesh/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", + "id": "9385a8e8e65a", + "title": "AI Is Taking Over the Most Cursed Job in the World", + "link": "https://www.wired.com/story/ai-takes-over-debt-collection/", + "source": "Wired", + "sourceId": "wired", "category": "AI", - "publishedAt": "2026-05-17T11:02:00.000Z", - "summary": "Monzo recently redesigned its data warehouse to support more than 100 teams working on over 12000 dbt models. Introducing a so-called \"meshy\" approach, Monzo cut warehouse costs by about 40% and improved data delivery sp…", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "There’s a mad dash to automate the world’s most hated calls. Have an unpaid bill? You’ll hear from an AI debt collector sometime soon.", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/monzo-data-mesh/en/headerimage/generatedHeaderImage-1777979720119.jpg", + "image": "https://media.wired.com/photos/6a047c1d138310676483b3fe/master/pass/AIDebtCollectors_v3.1.jpg", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "b549bc870408", - "title": "Writing Z80 assembly, 4 decades later:-)", - "link": "https://github.com/ttsiodras/3D-on-a-ZX-Spectrum-48K/", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "Security", - "publishedAt": "2026-05-17T08:55:28.000Z", - "summary": "", - "summaryType": "", - "image": "https://opengraph.githubassets.com/2959291c7128bf8475db439cadb8fe93718de8f6e1519e4e6e0c81c82efe4a87/ttsiodras/3D-on-a-ZX-Spectrum-48K", - "fallbackImage": "/assets/fallbacks/security.svg", + "id": "8e89139724f8", + "title": "I Spent a Week Recording Myself Doing Chores for Money. Who's the Robot Now?", + "link": "https://www.wired.com/story/household-chores-training-robots/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "Cooking. Doing laundry. Tidying up. All your household tasks can be turned into data to train future humanoids—if you’re prepared for the consequences.", + "summaryType": "snippet", + "image": "https://media.wired.com/photos/6a077b4e67132e88ffa730a4/master/pass/AIPanic_TrainingRobots_v2.1.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.256Z" }, { - "id": "570d34eb2ef0", - "title": "Grafana GitHub Token Breach Led to Codebase Download and Extortion Attempt", - "link": "https://thehackernews.com/2026/05/grafana-github-token-breach-led-to.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-17T07:13:33.000Z", - "summary": "Grafana has disclosed that an \"unauthorized party\" obtained a token that granted them the ability to access the company's GitHub environment and download its codebase. \"Our investigation has determined that no customer d…", + "id": "60090e5aaa25", + "title": "I’m a Professional Fact-Checker. AI Is Wrong More Often Than You Think", + "link": "https://www.wired.com/story/fact-checking-ai/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "Can AI do fact-checking? A WIRED fact-checker fact-checks.", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNcCJY0s2GwOwFeSuqVz941pWrGK3theum-FBFyYO97JnK22OamMheCtr9yEEFfHMvurI7UBgl72blFK6Hm9u358g1V9HbZOk5vocuYMvgjfYLmf2XPNsSG1IiFxlbLvnRaotutjUB5I7sVLVTf1HTozz9FoeVxA3DJOn9wAOolL-HwmATDLlAD-Mgs-tO/s1600/grafana.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://media.wired.com/photos/6a04e6a1d7be752b48cba500/master/pass/AiFactChecking-Final.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.511Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "29d1c78fb9c4", - "title": "Kay Hayen: Nuitka Release 4.1", - "link": "https://nuitka.net/posts/nuitka-release-41.html", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-16T22:00:00.000Z", - "summary": "This is to inform you about the new stable release of Nuitka . It is the extremely compatible Python compiler, “download now” . This release adds many new features and corrections with a focus on async code compatibility…", + "id": "ddde4c979dd6", + "title": "To Land a Job in AI, Try Reading Kant", + "link": "https://www.wired.com/story/to-land-a-job-in-ai-try-reading-kant/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "The world’s leading AI labs are hiring philosophers to think through ethical edge cases and grand questions of mind and morality. Are they another instrument of hype?", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.984Z" + "image": "https://media.wired.com/photos/6a0722c3cc137669535c6942/master/pass/AIPhilosophers_v2.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "fe12ff9d82f9", - "title": "Microsoft rejects critical Azure vulnerability report, no CVE issued", - "link": "https://www.bleepingcomputer.com/news/security/microsoft-rejects-critical-azure-vulnerability-report-no-cve-issued/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", + "id": "c459a369627b", + "title": "Take This Mandatory AI Workplace Training Right Now—or Else", + "link": "https://www.wired.com/story/ai-or-die-trying/", + "source": "Wired", + "sourceId": "wired", "category": "Security", - "publishedAt": "2026-05-16T20:55:44.000Z", - "summary": "A security researcher claims Microsoft quietly fixed an Azure Backup for AKS vulnerability after rejecting his report, and without issuing a CVE. Microsoft disputes the claim, telling BleepingComputer the behavior was ex…", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "AI could make you redundant. Here’s what you need to know.", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2023/06/12/microsoft-azure.jpg", + "image": "https://media.wired.com/photos/6a104f8cc9c138425f4055c9/master/pass/1-lets%20get%20oriented.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "8a33f0691a6f", - "title": "Ubuntu Embraces Local AI Instead of Cloud-First OS Integration", - "link": "https://www.infoq.com/news/2026/05/ubuntu-on-device-ai/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-16T20:00:00.000Z", - "summary": "Ubuntu has outlined its AI strategy, describing it as a deliberate departure from industry trends towards cloud-centric, AI-first operating systems. Instead, the company says, Ubuntu will focus future releases on local i…", + "id": "38ffeb008996", + "title": "7 Ways to Get So Good at AI, People Will Think You Are AI", + "link": "https://www.wired.com/story/7-ways-to-get-so-good-at-ai-people-will-think-you-are-ai/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-26T10:00:00.000Z", + "summary": "From killing your chatbots to optimizing your prompts, here are the best ways to go full AI native and conquer the new world.", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/ubuntu-on-device-ai/en/headerimage/ubuntu-on-device-ai-1778958515321.jpeg", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://media.wired.com/photos/6a0df9f99e7a013d4de6fd4e/master/pass/HowToBeANativeWithAI_v2.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "f7c2e8f0e1e7", - "title": "Funnel Builder Flaw Under Active Exploitation Enables WooCommerce Checkout Skimming", - "link": "https://thehackernews.com/2026/05/funnel-builder-flaw-under-active.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", + "id": "4b81cc7c601c", + "title": "Intel Working On pmtctl Tool For Linux In Dealing With Platform Telemetry Data", + "link": "https://www.phoronix.com/news/Intel-pmtctl-Tool", + "source": "Phoronix", + "sourceId": "phoronix", "category": "Security", - "publishedAt": "2026-05-16T15:20:48.000Z", - "summary": "A critical security vulnerability impacting the Funnel Builder plugin for WordPress has come under active exploitation in the wild to inject malicious JavaScript code into WooCommerce checkout pages with the goal of stea…", + "publishedAt": "2026-05-26T09:55:32.000Z", + "summary": "A set if 17 patches were posted today to the Linux kernel mailing list for introducing a new tool in the kernel source tree, pmtctl. This new pmtctl tool is for interfacing with Intel Platform Monitoring Technology...", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYS8AhChFEeH6IwT4x1eB5VAeGfriF4VVcwINAxXVIGyap3g0CKx0R2BdI4s99cE3Q5JHr-KUVHqdhAFNfQIrCTJ6p-vq7u5naMTwb-WFjgis4vBdR29M94wAT-Dqh46zsbo4heSJOVdFRxXzR3SgHt2ZoTPPBEbB3cu4azACiFFl7jcIGNxw1d_U7eVU9/s1600/funnel.png", + "image": "https://www.phoronix.net/image.php?id=2026&image=pmtctl", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.511Z" + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true }, { - "id": "47d5e0a99eb6", - "title": "PyCon: Welcome Back, NVIDIA: Visionary Sponsor of PyCon US 2026", - "link": "https://pycon.blogspot.com/2026/05/welcome-back-nvidia-visionary-sponsor.html", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-16T14:30:37.000Z", - "summary": "NVIDIA is excited to once again support PyCon US 2026 as a Visionary Sponsor , and to sponsor the Future of AI with Python Conference Track . Python is a “first-class” language at NVIDIA CUDA, and NVIDIA is committed to …", + "id": "d02e2f88c864", + "title": "Uber president says AI spending is getting ‘harder to justify’", + "link": "https://www.theverge.com/transportation/937116/uber-ai-investment-hard-to-justify", + "source": "The Verge", + "sourceId": "the-verge", + "category": "DevOps", + "publishedAt": "2026-05-26T09:55:09.000Z", + "summary": "After reportedly exhausting its annual AI budget just four months into 2026, Uber is now questioning whether it's actually seeing meaningful returns on its investments. In an interview with Rapid Response , Uber presiden…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.984Z" + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/2026/05/gettyimages-2245764686.jpg?quality=90&", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.186Z", + "sponsored": true }, { - "id": "8ee6b2ddff07", - "title": "Russian hackers turn Kazuar backdoor into modular P2P botnet", - "link": "https://www.bleepingcomputer.com/news/security/russian-hackers-turn-kazuar-backdoor-into-modular-p2p-botnet/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", + "id": "171a04528a0e", + "title": "Sources: ByteDance is offering low-priced stock options linked to growth in its Seed AI division to staff of the unit, a first, to fend off poaching from rivals (Financial Times)", + "link": "https://www.techmeme.com/260526/p4", + "source": "Techmeme", + "sourceId": "techmeme", "category": "Security", - "publishedAt": "2026-05-16T14:15:37.000Z", - "summary": "The Russian hacker group Secret Blizzard has developed its long-running Kazuar backdoor into a modular peer-to-peer (P2P) botnet designed for long-term persistence, stealth, and data collection. [...]", + "publishedAt": "2026-05-26T09:45:02.000Z", + "summary": "Financial Times : Sources: ByteDance is offering low-priced stock options linked to growth in its Seed AI division to staff of the unit, a first, to fend off poaching from rivals — TikTok owner issues shares tied t…", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2026/05/15/Russia.jpg", + "image": "http://www.techmeme.com/img/pml.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:29.542Z", + "sponsored": true }, { - "id": "2f3844eaf7ec", - "title": "Google Introduces Cloud Fraud Defense as Successor to reCAPTCHA", - "link": "https://www.infoq.com/news/2026/05/cloud-fraud-defense-recaptcha/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-16T08:39:00.000Z", - "summary": "At the recent Next ‘26 conference, Google introduced Google Cloud Fraud Defense, the successor to reCAPTCHA. The platform goes beyond basic bot detection to address broader online fraud across login, account creation, an…", + "id": "958f94c17130", + "title": "Btrfs Preps Huge Folios Support Ahead Of Linux 7.2", + "link": "https://www.phoronix.com/news/Btrfs-Huge-Folios-Linux-7.2", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "DevOps", + "publishedAt": "2026-05-26T09:43:25.000Z", + "summary": "The past few Linux kernel cycles there has been experimental support for large folios with Btrfs while for Linux 7.2 it looks like this modern file-system will be taking things further with huge folios...", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/cloud-fraud-defense-recaptcha/en/headerimage/generatedHeaderImage-1777383901225.jpg", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://www.phoronix.net/image.php?id=2026&image=btrfs_huge_folio", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true }, { - "id": "b666647a92b3", - "title": "Microsoft Releases Aspire 13.3 with Major Deployment and Frontend Updates", - "link": "https://www.infoq.com/news/2026/05/aspire-13-3-release/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "General", - "publishedAt": "2026-05-16T08:34:00.000Z", - "summary": "Microsoft has released Aspire 13.3, introducing a new aspire destroy command for tearing down deployments across Azure, Kubernetes, and Compose. The release adds native Kubernetes deployment in preview, first-class JavaS…", + "id": "6a9b6f4256ca", + "title": "I Never Liked a Laptop Sleeve Until I Tried the Bellroy Laptop Caddy", + "link": "https://www.wired.com/story/finally-a-laptop-sleeve-for-me/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-26T09:32:00.000Z", + "summary": "This sleeve works overtime to carry so much more than a spare laptop. With all the extra space and pockets, it's the best laptop companion I've ever used.", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/aspire-13-3-release/en/card_header_image/generatedCard-1778870266966.jpg", - "fallbackImage": "/assets/fallbacks/general.svg", + "image": "https://media.wired.com/photos/6a0cabd72c7ee96598e09971/master/pass/Bellroy%20Laptop%20Caddy%20SOURCE%20Bellroy%20(Bag%20Check).jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "19614be34b2d", - "title": "Friday Squid Blogging: Bigfin Squid", - "link": "https://www.schneier.com/blog/archives/2026/05/friday-squid-blogging-bigfin-squid.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", + "id": "031800c7a855", + "title": "US Law Enforcement Warns of ‘Anti-Tech Extremism’ as AI Hatred Grows", + "link": "https://www.wired.com/story/us-law-enforcement-warns-of-anti-tech-extremism/", + "source": "Wired", + "sourceId": "wired", "category": "Security", - "publishedAt": "2026-05-16T01:03:31.000Z", - "summary": "Article about the bigfin squid. As usual, you can also use this squid post to talk about the security stories in the news that I haven’t covered. Blog moderation policy.", + "publishedAt": "2026-05-26T09:30:00.000Z", + "summary": "As Americans stew over the looming risk of job-stealing AI and data centers in their back yards, the feds are raising the alarm about a new category of threat, documents obtained by WIRED show.", "summaryType": "snippet", - "image": null, + "image": "https://media.wired.com/photos/6a10b0246e47ced150ad32d6/master/pass/US-Law-Enforcement-Warns-of-Anti-Tech-Extremism-Security.jpg", "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.555Z" + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.256Z", + "sponsored": true }, { - "id": "f467893061b0", - "title": "Crystals found inside wreckage from the first nuclear bomb test", - "link": "https://www.scientificamerican.com/article/strange-crystals-found-inside-wreckage-from-the-first-nuclear-bomb-test/", - "source": "Hacker News", - "sourceId": "hacker-news", - "category": "AI", - "publishedAt": "2026-05-15T23:54:33.000Z", - "summary": "The core topic of this article is the discovery of a new chemical structure within trinitite, which is the unique form of matter left behind from the first nuclear bomb test in New Mexico on July 16, 1945. Luca Bindi and his team have identified a new material called clathrate, which is a cagelike chemical lattice that traps other atoms inside it. This finding represents a significant breakthrough in understanding the properties of trinitite and its potential applications in fields such as materials science, nuclear physics, and environmental engineering. The discovery has important implications for our understanding of extreme conditions and the behavior of matter under extreme pressure and temperature conditions.", - "summaryType": "ai", - "image": "https://static.scientificamerican.com/dam/asset/12cb3e17-9ed8-4e16-92fe-384efe63b377/GettyImages-2217357656-cropped.jpeg?m=1778530102.63&w=1200", - "fallbackImage": "/assets/fallbacks/ai.svg", + "id": "6609699767ec", + "title": "HP customer claims firmware update shoved printer off support cliff", + "link": "https://www.theregister.com/personal-tech/2026/05/26/hp-customer-claims-firmware-update-shoved-printer-off-support-cliff/5244888", + "source": "The Register", + "sourceId": "the-register", + "category": "DevOps", + "publishedAt": "2026-05-26T09:15:00.000Z", + "summary": "HP appears to have discovered a new subscription tier for printers: \"Works until we decide it doesn't.\" A customer in Quebec claims the company remotely crippled his five-year-old OfficeJet 4650 printer after a firmware …", + "summaryType": "snippet", + "image": "https://image.theregister.com/?imageId=5244931&width=800", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:29.749Z", + "sponsored": true }, { - "id": "edd52bbbcbb9", - "title": "Anarcat: The Four Horsemen of the LLM Apocalypse", - "link": "https://anarc.at/blog/2026-05-16-four-horsemen/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-15T21:25:27.000Z", - "summary": "I have been battling Large Language Models (LLM 1 ) for the past couple of weeks and have struggled to think about what it means and how to deal with its fallout. Because the fight has come from many fronts, I've come to…", - "summaryType": "snippet", + "id": "b123b1aefcb3", + "title": "A portentous reunion", + "link": "https://bcantrill.dtrace.org/2026/05/25/a-portentous-reunion/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-26T09:13:18.000Z", + "summary": "A portentous reunion saw many college graduates express grave concern about the future of AI and its impact on their children's lives. The anxiety is rooted in the loss of deferments and draft dodges faced by classmates, as well as the uncertainty surrounding the effects of large language models on knowledge work. This nostalgia for a past era also highlights the specific kind of technological disruption that has occurred since 1992.", + "summaryType": "ai", "image": null, - "fallbackImage": "/assets/fallbacks/python.svg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.985Z" + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true }, { - "id": "107286687829", - "title": "Funnel Builder WordPress plugin bug exploited to steal credit cards", - "link": "https://www.bleepingcomputer.com/news/security/funnel-builder-wordpress-plugin-bug-exploited-to-steal-credit-cards/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", + "id": "e1c3009e9bbd", + "title": "CERT-In Recommends 12-Hour Patching for Internet-Facing Flaws Amid AI-Assisted Attacks", + "link": "https://thehackernews.com/2026/05/cert-in-mandates-12-hour-patching-for.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", "category": "Security", - "publishedAt": "2026-05-15T19:30:33.000Z", - "summary": "A critical vulnerability in the Funnel Builder plugin for WordPress is being actively exploited to inject malicious JavaScript snippets into WooCommerce checkout pages. [...]", + "publishedAt": "2026-05-26T09:13:02.000Z", + "summary": "The Indian Computer Emergency Response Team (CERT-In) has issued new guidelines requiring organizations to patch critical security vulnerabilities in internet-exposed systems within 12 hours of being flagged where \"feasi…", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2026/05/15/Woo.jpg", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9yN2AliOVdy0oCCMNYXnnrLjE6yWRz_eXVGFhiIw9vxnia2BMUxqhMrI8Q23Y2hHcF-hjqbw4aIqJTvO4zDD1k_WlKzEqx_FZ7P45mn8RiQ1UEqNUgqXv4DqrkzyyjjjgjKcPnNjzKHTTX8NIelTf4L_Cbx4XyYK6piDr1oPFfSmtk-59NCbU3cGCQEcQ/s1600/indian-cert.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:27.732Z", + "sponsored": true }, { - "id": "831f2e62de07", - "title": "Ask an Astronaut: 333 hours of Q&A footage with astronauts", - "link": "https://askanastronaut.issinrealtime.org/", - "source": "Hacker News", - "sourceId": "hacker-news", + "id": "6677e43d2307", + "title": "Presentation: Realtime and Batch Processing of GPU Workloads", + "link": "https://www.infoq.com/presentations/realtime-gpu-workloads/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", "category": "AI", - "publishedAt": "2026-05-15T19:25:43.000Z", - "summary": "Ask an Astronaut is a new video platform that allows users to ask questions and receive answers from astronauts. The platform features three types of content: Q&A, trivia, and live streams. It aims to provide developers with real-world examples of how AI can be used in various fields, such as healthcare, education, and entertainment. By watching the videos on Ask an Astronaut, developers can gain insights into how AI is transforming different industries. The platform's focus on real-time interaction and user feedback makes it a valuable resource for developers looking to improve their applications or services.", - "summaryType": "ai", - "image": "https://askanastronaut.issinrealtime.org/images/social_image.png", + "publishedAt": "2026-05-26T09:08:00.000Z", + "summary": "Joseph Stein discusses engineering an enterprise AI-as-a-Service platform within a private cloud data center. He explains how to maximize underutilized GPU pools via multi-namespace scheduling, leverage Valkey and Lua fo…", + "summaryType": "snippet", + "image": "https://res.infoq.com/presentations/realtime-gpu-workloads/en/card_header_image/twitter-card-1779194310932.jpg", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true }, { - "id": "bc0a83ee3533", - "title": "Kubernetes v1.36: New Metric for Route Sync in the Cloud Controller Manager", - "link": "https://kubernetes.io/blog/2026/05/15/ccm-new-metric-route-sync-total/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-15T18:35:00.000Z", - "summary": "This article was originally published with the wrong date. It was later republished, dated the 15th of May 2026. Kubernetes v1.36 introduces a new alpha counter metric route_controller_route_sync_total to the Cloud Contr…", + "id": "062ec2ebc220", + "title": "TamboUI Promises to Bring Better Capabilities to Build TUIs in Java", + "link": "https://www.infoq.com/news/2026/05/tamboui-java-tui/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", + "source": "InfoQ Java", + "sourceId": "infoq-java", + "category": "Java", + "publishedAt": "2026-05-26T09:00:00.000Z", + "summary": "The call to action, “to make 2026 the year of Java in the terminal,” was quickly responded to by the launch of TamboUI. Inspired by Ratatui, the library used in Claude CLI, it promises support ranging from low-level term…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.064Z" + "image": "https://res.infoq.com/news/2026/05/tamboui-java-tui/en/headerimage/generatedHeaderImage-1779678850388.jpg", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.065Z", + "sponsored": true }, { - "id": "0d3c3269260f", - "title": "Kubernetes v1.36: Mixed Version Proxy Graduates to Beta", - "link": "https://kubernetes.io/blog/2026/05/15/kubernetes-1-36-feature-mixed-version-proxy-beta/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", + "id": "d755ba22cbfe", + "title": "Article: Architecting Cloud-Native Kafka: From Tiered Storage Towards a Diskless Future", + "link": "https://www.infoq.com/articles/architecting-cloud-native-kafka/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", "category": "DevOps", - "publishedAt": "2026-05-15T18:00:00.000Z", - "summary": "Back in Kubernetes 1.28, we introduced the Mixed Version Proxy (MVP) as an Alpha feature (under the feature gate UnknownVersionInteroperabilityProxy ) in a previous blog post . The goal was simple but critical: make clus…", + "publishedAt": "2026-05-26T09:00:00.000Z", + "summary": "This article explores Kafka's transition toward a cloud-native architecture, examining how tiered storage, FinOps telemetry, elastic consumer scaling, virtual clusters, and Share Groups reshape the operational and econom…", "summaryType": "snippet", - "image": null, + "image": "https://res.infoq.com/articles/architecting-cloud-native-kafka/en/headerimage/architecting-cloud-native-kafka-header-1779433382367.jpg", "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.064Z" + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true }, { - "id": "2d5e8864fcf8", - "title": "Microsoft Exchange, Windows 11 hacked on second day of Pwn2Own", - "link": "https://www.bleepingcomputer.com/news/security/pwn2own-day-two-hackers-demo-microsoft-exchange-windows-11-red-had-enterprise-linux-zero-days/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", - "category": "Security", - "publishedAt": "2026-05-15T17:47:25.000Z", - "summary": "​During the second day of Pwn2Own Berlin 2026, competitors collected $385,750 in cash awards after exploiting 15 unique zero-day vulnerabilities in multiple products, including Windows 11, Microsoft Exchange, and Red Hat…", + "id": "6f81ce46962e", + "title": "TamboUI Promises to Bring Better Capabilities to Build TUIs in Java", + "link": "https://www.infoq.com/news/2026/05/tamboui-java-tui/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "DevOps", + "publishedAt": "2026-05-26T09:00:00.000Z", + "summary": "The call to action, “to make 2026 the year of Java in the terminal,” was quickly responded to by the launch of TamboUI. Inspired by Ratatui, the library used in Claude CLI, it promises support ranging from low-level term…", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2025/05/19/Pwn2Own_Berlin.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://res.infoq.com/news/2026/05/tamboui-java-tui/en/headerimage/generatedHeaderImage-1779678850388.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true }, { - "id": "c0df2df4e685", - "title": "Popular node-ipc npm package compromised to steal credentials", - "link": "https://www.bleepingcomputer.com/news/security/popular-node-ipc-npm-package-compromised-to-steal-credentials/", - "source": "Bleeping Computer", - "sourceId": "bleeping-computer", - "category": "Security", - "publishedAt": "2026-05-15T17:10:42.000Z", - "summary": "Hackers have injected credential-stealing malware into newly published versions of node-ipc, a popular inter-process communication package, in a new supply chain attack targeting npm. [...]", + "id": "84efa7c45682", + "title": "Google Expands SynthID Adoption for AI Watermarking, Previews Content Detection API", + "link": "https://www.infoq.com/news/2026/05/google-synthid-content-detection/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "DevOps", + "publishedAt": "2026-05-26T09:00:00.000Z", + "summary": "Google's SynthID, designed to embed imperceptible signals into AI-generated content, is adding a new Content Detection API on Google Cloud's Gemini Enterprise Agent Platform, after gaining adoption by several industry pl…", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2026/05/15/npm.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://res.infoq.com/news/2026/05/google-synthid-content-detection/en/headerimage/google-synthid-content-detection-1779781502207.jpeg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true }, { - "id": "52d77ff8bfbf", - "title": "Turla Turns Kazuar Backdoor Into Modular P2P Botnet for Persistent Access", - "link": "https://thehackernews.com/2026/05/turla-turns-kazuar-backdoor-into.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-15T17:10:25.000Z", - "summary": "The Russian state-sponsored hacking group known as Turla has transformed its custom backdoor Kazuar into a modular peer-to-peer (P2P) botnet that's engineered for stealth and persistent access to compromised hosts. Turla…", + "id": "3b538f8e3b1c", + "title": "Cearvol’s Wave Design Fights Off Hearing Loss and Aging Stigma", + "link": "https://www.wired.com/review/review-cearvol-wave-lite/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-26T09:00:00.000Z", + "summary": "Cearvol’s Wave Lite hearing aids take on the stigma of aging with tech-inspired design, but they lack the nuance to be truly useful.", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8BT1AOScncZQM_A-0WBdCzTDAHGHSey48_Mywhij-TJupCdzP3s3o-MIImRtMZcoV2OqX3RjRV4COpVqkB1mrH3d_zjwvSTwCEXOq_2m80HgDo-xwAZ1KpR1h8eN9dAHGcKN_PpcE0cBsnv67FcthDycHLBJMYs8NkPszWNiQqdbhyL0YIlwVJn4NtgaR/s1600/code.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://media.wired.com/photos/6a0f6cd13cc9755a1bff8136/master/pass/Review%20Cearvol%20Wave%20Lite%20top%20art%20052026%20SOURCE%20Cearvol.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.511Z" + "fetchedAt": "2026-05-26T13:50:29.257Z", + "sponsored": true }, { - "id": "15e2ab30f961", - "title": "Building a general-purpose accessibility agent—and what we learned in the process", - "link": "https://github.blog/ai-and-ml/github-copilot/building-a-general-purpose-accessibility-agent-and-what-we-learned-in-the-process/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-15T16:00:00.000Z", - "summary": "It is an understatement to say agents have become a popular way of working with code. GitHub has adopted agent-based code creation and editing for many of its initiatives, including piloting an agent to help with our com…", + "id": "bc85ac3368e3", + "title": "A battery-powered Starlink Mini is likely on the way", + "link": "https://www.theverge.com/tech/937090/battery-powered-starlink-mini-rumor", + "source": "The Verge", + "sourceId": "the-verge", + "category": "DevOps", + "publishedAt": "2026-05-26T08:55:51.000Z", + "summary": "Code in recent Starlink firmware suggests that SpaceX might soon release a version of its smallest internet dish with an integrated battery. A battery-powered Starlink Mini would offer untethered portability for vanlifer…", "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2026/05/image2.png?resize=1024%2C731", - "fallbackImage": "/assets/fallbacks/open-source.svg", + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/2026/05/IMG_1637_edit.webp?quality=90&", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.285Z" + "fetchedAt": "2026-05-26T13:50:29.186Z", + "sponsored": true }, { - "id": "beed15649430", - "title": "Avada Builder WordPress plugin flaws allow site credential theft", - "link": "https://www.bleepingcomputer.com/news/security/avada-builder-wordpress-plugin-flaws-allow-site-credential-theft/", + "id": "2dafdd1f28ba", + "title": "CISA orders feds to patch actively exploited Drupal vulnerability", + "link": "https://www.bleepingcomputer.com/news/security/cisa-orders-feds-to-patch-actively-exploited-drupal-vulnerability/", "source": "Bleeping Computer", "sourceId": "bleeping-computer", "category": "Security", - "publishedAt": "2026-05-15T15:56:56.000Z", - "summary": "Two vulnerabilities in the Avada Builder plugin for WordPress, with an estimated one million active installations, allow hackers to read arbitrary files and extract sensitive information from the database. [...]", + "publishedAt": "2026-05-26T08:46:45.000Z", + "summary": "CISA has given U.S. government agencies until Wednesday evening to secure their servers against an SQL injection vulnerability in the Drupal content management system (CMS) that it flagged as actively exploited. [...]", "summaryType": "snippet", - "image": "https://www.bleepstatic.com/content/hl-images/2026/05/14/wordpress.jpg", + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/26/Drupal.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "fetchedAt": "2026-05-26T13:50:27.546Z", + "sponsored": true }, { - "id": "05d7ae3113a5", - "title": "Anthropic Introduces Routines for Claude Code Automation", - "link": "https://www.infoq.com/news/2026/05/anthropic-routines-claude/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-15T15:51:00.000Z", - "summary": "Anthropic has introduced a new feature called Routines for Claude Code, allowing developers to configure automated coding workflows that run on schedules, through API calls, or in response to external events. By Daniel D…", + "id": "68df621b3405", + "title": "Blue Origin cleared to launch New Glenn rocket again after FAA investigation", + "link": "https://www.engadget.com/2180875/blue-origin-new-glenn-faa-clearance/", + "source": "Engadget", + "sourceId": "engadget", + "category": "DevOps", + "publishedAt": "2026-05-26T08:32:50.000Z", + "summary": "Blue Origin can now prepare for New Glenn's fourth flight after the FAA cleared it for launch.", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/anthropic-routines-claude/en/headerimage/generatedHeaderImage-1778774115333.jpg", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://www.engadget.com/img/gallery/blue-origin-cleared-to-launch-new-glenn-rocket-again-after-faa-investigation/l-intro-1779784218.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.515Z", + "sponsored": true }, { - "id": "0191bcf1a10f", - "title": "PyCharm: Pyrefly LSP Integration with Type Engine in PyCharm 2026.1.2", - "link": "https://blog.jetbrains.com/pycharm/2026/05/pyrefly-lsp-integration-in-pycharm-2026-1-2/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-15T15:31:27.000Z", - "summary": "In PyCharm 2026.1.2, you can enable Pyrefly as an external type provider, dramatically increasing the speed of the IDE’s code insight features. What is the Pyrefly LSP? “LSP” stands for the Language Server Protocol – a s…", + "id": "8eb6ea684d79", + "title": "EU's digital sovereignty boo-boo may be the best thing to ever happen to the project", + "link": "https://www.theregister.com/systems/2026/05/26/eus-digital-sovereignty-boo-boo-may-be-the-best-thing-to-ever-happen-to-the-project/5244715", + "source": "The Register", + "sourceId": "the-register", + "category": "DevOps", + "publishedAt": "2026-05-26T08:30:00.000Z", + "summary": "OPINION There's a spy in the court of Europe's digital sovereignty. Actually there are two, the half-siblings Intel and AMD, whose chips power the Old World bit barns on which the sovereign cloud is based. Both companies…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.985Z" + "image": "https://image.theregister.com/?imageId=5244739&width=800", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.749Z", + "sponsored": true }, { - "id": "88e4482b025d", - "title": "[$] Controlling memory management with BPF", - "link": "https://lwn.net/Articles/1072538/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-15T14:54:56.000Z", - "summary": "Roman Gushchin began his session in the memory-management track of the 2026 Linux Storage, Filesystem, Memory Management, and BPF Summit by saying that the community has seen a lot of proposals adding BPF-based interface…", + "id": "051813dd7208", + "title": "Power from Gravity", + "link": "https://hackaday.com/2026/05/26/power-from-gravity/", + "source": "Hackaday", + "sourceId": "hackaday", + "category": "General", + "publishedAt": "2026-05-26T08:00:17.000Z", + "summary": "Gravity batteries aren’t exactly a new idea. You can store energy by lifting something heavy, converting kinetic energy into potential energy. To get it back, you let the mass fall and convert that motion to electr…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "image": "https://hackaday.com/wp-content/uploads/2026/05/grav.png?w=776", + "fallbackImage": "/assets/fallbacks/general.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.298Z", + "sponsored": true }, { - "id": "c6f4e12c4715", - "title": "Microsoft backpedals: Edge to stop loading passwords into memory", - "link": "https://www.bleepingcomputer.com/news/microsoft/microsoft-edge-to-stop-loading-cleartext-passwords-in-memory-on-startup/", + "id": "9a93392b6705", + "title": "Microsoft: Domain Controller lookup may fail on Windows Server 2016", + "link": "https://www.bleepingcomputer.com/news/microsoft/microsoft-domain-controller-lookup-may-fail-on-windows-server-2016/", "source": "Bleeping Computer", "sourceId": "bleeping-computer", "category": "Security", - "publishedAt": "2026-05-15T14:49:39.000Z", - "summary": "Microsoft is updating the Edge web browser to ensure it no longer loads saved passwords into process memory in clear text at startup after previously stating it was \"by design.\" [...]", + "publishedAt": "2026-05-26T07:41:25.000Z", + "summary": "Microsoft has confirmed a new known issue affecting Windows Server 2016 systems that causes domain controller lookups to fail after installing the KB5087537 May 2026 security update. [...]", "summaryType": "snippet", - "image": null, + "image": "https://www.bleepstatic.com/content/hl-images/2026/04/17/Windows_Server.jpg", "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true }, { - "id": "f7d214c44b9c", - "title": "Cloudflare Introduces Workflows V2 with Deterministic Execution and 50K Concurrent Workflows", - "link": "https://www.infoq.com/news/2026/05/cloudflare-workflows-v2-release/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-15T14:04:00.000Z", - "summary": "Cloudflare introduces Workflows V2, a redesigned distributed workflow orchestration system with deterministic replayable execution, improved observability, and major scaling upgrades, including 50,000 concurrent instance…", + "id": "95a0479fb057", + "title": "DynIP – Dynamic DNS with RFC 2136, IPv6, DNSSEC, and BYOD", + "link": "https://dynip.dev/", + "source": "Hacker News", + "sourceId": "hacker-news", + "category": "General", + "publishedAt": "2026-05-26T07:35:20.000Z", + "summary": "DynIP is a dynamic DNS service that uses RFC 2136 TSIG to securely update DNS records, supporting IPv6 and DNSSEC. It offers a free tier with updates happening in under a minute, making it suitable for homelabs, edge routers, and infrastructure teams. DynIP supports dual-stack and native IPv6, allowing for seamless integration with modern ISPs offering both. Its robust security features include TSIG, REST API, and UDP/53 native IPv6 support.", + "summaryType": "ai", + "image": "https://dynip.dev/og-image.png", + "fallbackImage": "/assets/fallbacks/general.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true + }, + { + "id": "5bb52f2c1a0c", + "title": "Iranian Hackers Deploy MiniFast and MiniJunk V2 via Phishing and SEO Poisoning", + "link": "https://thehackernews.com/2026/05/iranian-hackers-deploy-minifast-and.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-26T07:13:05.000Z", + "summary": "The Iranian state-sponsored threat actor known as Nimbus Manticore (aka Screening Serpens and UNC1549) has been attributed to a fresh campaign using lures impersonating organizations in the aviation and software sectors …", "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/cloudflare-workflows-v2-release/en/headerimage/generatedHeaderImage-1777438019188.jpg", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL7Xqq7FlHxai3-wKrWcUujSg4cXnMJ_0LiXDaZHaZosFt3sPF1_PwcaqufOoM7q66vakQyKX5-odysTHOhtIG7ESj52Kna0i3OxaOA0sTONuH3NhkmautF8CTeiLBDzHFWjEvIT286ZnhERvK2VsvzxTdqjlEpXsbSELeqVHyr18JodeQZC-qudm2yblS/s1600/iran-hackers.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:27.732Z", + "sponsored": true }, { - "id": "c8a0959dfd34", - "title": "Inside the REMUS Infostealer: Session Theft, MaaS, and Rapid Evolution", - "link": "https://www.bleepingcomputer.com/news/security/inside-the-remus-infostealer-session-theft-maas-and-rapid-evolution/", + "id": "47fe377fedc2", + "title": "7-Eleven data breach exposes personal information of 185,000 people", + "link": "https://www.bleepingcomputer.com/news/security/7-eleven-data-breach-exposes-personal-information-of-185-000-people/", "source": "Bleeping Computer", "sourceId": "bleeping-computer", "category": "Security", - "publishedAt": "2026-05-15T14:02:12.000Z", - "summary": "Stolen browser sessions and authentication tokens are becoming more valuable than stolen passwords. Flare explains how the REMUS infostealer evolved around session theft and operational scalability. [...]", + "publishedAt": "2026-05-26T07:01:12.000Z", + "summary": "The ShinyHunters extortion gang stole the personal information of over 183,000 people after hacking the systems of convenience store chain giant 7-Eleven in April, according to data breach notification service Have I Bee…", "summaryType": "snippet", - "image": null, + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/19/7-Eleven.jpg", "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.415Z" + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true }, { - "id": "585001b1978a", - "title": "Raising the bar: Quality, shared responsibility, and the future of GitHub’s bug bounty program", - "link": "https://github.blog/security/raising-the-bar-quality-shared-responsibility-and-the-future-of-githubs-bug-bounty-program/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-15T14:00:00.000Z", - "summary": "The security research community is one of GitHub’s greatest assets. Every year, researchers from around the world help us find and fix vulnerabilities, making the platform safer for over 180 million developers. Our…", + "id": "b173876b1867", + "title": "Graham Dumpleton: Free-threading vs the GIL in mod_wsgi 6.0.0", + "link": "https://grahamdumpleton.me/posts/2026/05/free-threading-vs-the-gil-in-mod-wsgi-6-0-0/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T07:00:00.000Z", + "summary": "The previous post in this series walked through tuning WSGISwitchInterval to claw back throughput on a multi-threaded mod_wsgi daemon group whose workload is CPU-bound Python. Tightening the switch interval recovered mos…", "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2021/06/GitHub-Bug-Bounty.png?fit=1498%2C826", - "fallbackImage": "/assets/fallbacks/open-source.svg", + "image": "https://opengraph.githubassets.com/c0d254d8/GrahamDumpleton/mod_wsgi", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.285Z" + "fetchedAt": "2026-05-26T13:50:28.296Z", + "sponsored": true }, { - "id": "3d84935ad4c5", - "title": "Four OpenClaw Flaws Enable Data Theft, Privilege Escalation, and Persistence", - "link": "https://thehackernews.com/2026/05/four-openclaw-flaws-enable-data-theft.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-15T13:35:04.000Z", - "summary": "Cybersecurity researchers have disclosed a set of four security flaws in OpenClaw that could be chained to achieve data theft, privilege escalation, and persistence. The vulnerabilities, collectively dubbed Claw Chain by…", + "id": "a4231b61f927", + "title": "ML-KEM + X-Wing Patches Posted For Linux To Help With Post-Quantum Security", + "link": "https://www.phoronix.com/news/Linux-PoC-ML-KEM-X-Wing", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "AI", + "publishedAt": "2026-05-26T07:00:00.000Z", + "summary": "Linux cryptography expert Eric Biggers of Google posted a set of patches on Monday for providing proof-of-concept support for ML-KEM and X-Wing for post-quantum cryptography...", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz_tK9S8jS_n5CK694-FLGjQP5_Mmpg7z9ZRiBayWsJLsuFRIm-8j1hTlhH90779FvnvhpiFKeGP9CzI5RCPsxQEnOzAIQsPzUsAJhUWtNm9iwf9C1W9DbDmqoQ_jjHhM7huYDV210OB9o1L9NPoJ0IL6R9Xc-V4JQ91Kn-b47_2ravRJ6-qlZOVrqsuAz/s1600/openclaw.png", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://www.phoronix.net/image.php?id=2025&image=tux_scope", + "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.511Z" + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true }, { - "id": "6e22dc0d8396", - "title": "Seven new stable kernels with patches for CVE-2026-46333", - "link": "https://lwn.net/Articles/1073060/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-15T13:34:24.000Z", - "summary": "Greg Kroah-Hartman has announced the 7.0.8 , 6.18.31 , 6.12.89 , 6.6.139 , 6.1.173 , 5.15.207 , and 5.10.256 stable kernels. These kernels contain a patch for CVE-2026-46333 a vulnerability reported by the Qualys Securit…", + "id": "c046ad449e6c", + "title": "The pressure", + "link": "https://daniel.haxx.se/blog/2026/05/26/the-pressure/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-26T06:47:38.000Z", + "summary": "The pressure to deliver high-quality software has become increasingly intense in recent years, with developers facing significant scrutiny from users, customers, and even their own peers. The constant need for improvement can be overwhelming, leading some to feel like they're under a microscope, with every bug report or criticism serving as a personal attack on their work. This pressure is evident in the curl project, where the author has been working tirelessly for over 30 years to create the best transfer library and tool possible, despite facing numerous challenges and setbacks along the way. The author's dedication to making curl the top project in Open Source is unwavering, but they also acknowledge that their personal identity is closely tied to the project, making it difficult to separate their work from their passion.", + "summaryType": "ai", + "image": "https://daniel.haxx.se/blog/wp-content/uploads/2026/05/valve.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.258Z", + "sponsored": true + }, + { + "id": "49f7dbdcf4d5", + "title": "SaaS outfit ClickUp promises seven-figure salaries for survivors of 22 percent staff purge", + "link": "https://www.theregister.com/saas/2026/05/26/saas-outfit-clickup-promises-seven-figure-salaries-for-survivors-of-22-percent-staff-purge/5245929", + "source": "The Register", + "sourceId": "the-register", + "category": "DevOps", + "publishedAt": "2026-05-26T06:20:30.000Z", + "summary": "The CEO of SaaS-y productivity tools outfit ClickUp has announced 22 percent of the company’s workers will lose their jobs, but promised the savings will allow the company to offer some survivors seven-figure salaries. C…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "image": "https://image.theregister.com/?imageId=262988&width=800", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.750Z", + "sponsored": true }, { - "id": "91ca6a774fb3", - "title": "[$] HugeTLB preservation over live update", - "link": "https://lwn.net/Articles/1072531/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-15T13:27:42.000Z", - "summary": "Recent times have seen a lot of effort put into the implementation of the kexec handover and live update orchestrator features in the Linux kernel. But that work is not yet complete. At the 2026 Linux Storage, Filesystem…", + "id": "1a46f25eafe3", + "title": "KnowledgeDeliver LMS Flaw Exploited to Deploy Godzilla and Cobalt Strike", + "link": "https://thehackernews.com/2026/05/knowledgedeliver-lms-flaw-exploited-to.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-26T05:19:38.000Z", + "summary": "A now-patched high-severity security flaw affecting Digital Knowledge KnowledgeDeliver, a Learning Management System (LMS) popular in Japan, was exploited as a zero-day to deliver the Godzilla web shell and ultimately fa…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZKxsveHlyTguEODsRiYVuCPiOkIgyd3imCYdnpwwV2NQ0pw9oPEQoVw-2T98HW0KgZvRqQ_zeZIT-4E3b6WH6hE-fxJeZ9YN2S9T5769SS11QP-Pf8E1kf8kk0mbwyX_sjXTgrqKDzbDivmQRRmB_qGQmTKkB673oTFD-gWDet_ptXihujQMioqvryplT/s1600/KnowledgeDeliver.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.732Z", + "sponsored": true }, { - "id": "e5c22eb572d5", - "title": "Security updates for Friday", - "link": "https://lwn.net/Articles/1073059/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-15T13:16:03.000Z", - "summary": "Security updates have been issued by Debian (ffmpeg, gsasl, nodejs, postgresql-15, postgresql-17, python3.9, and thunderbird), Fedora (expat, firefox, freerdp, GitPython, kernel, php, rust-podman-sequoia, rust-rpm-sequoi…", + "id": "8b2b7fb45a50", + "title": "Peek Into IBM’s System/360 With Vintage Training Film", + "link": "https://hackaday.com/2026/05/25/peek-into-ibms-system-360-with-vintage-training-film/", + "source": "Hackaday", + "sourceId": "hackaday", + "category": "DevOps", + "publishedAt": "2026-05-26T05:00:19.000Z", + "summary": "Computing goes hand-in-hand with how to structure and access data, and this internal training film from IBM regarding file organization and data processing with System/360 is from a time when such decisions were crucial …", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "image": "https://hackaday.com/wp-content/uploads/2026/05/IBM-CONFIDENTIAL_-SYSTEM_360-FILE-ORGANIZATION-_-INTERNAL-IBM-COMPUTER-TRAINING-FILM-GG47235-0-26-screenshot-banner.png?w=541", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.299Z", + "sponsored": true }, { - "id": "b43cc2906ddd", - "title": "Striking New Views of the First Atomic Bomb Test", - "link": "https://spectrum.ieee.org/trinity-nuclear-test", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "General", - "publishedAt": "2026-05-15T13:00:01.000Z", - "summary": "Editor’s note: If you’d like to pinpoint the instant when the world entered the nuclear age, 5:29:45 a.m. Mountain War Time on 16 July 1945, is an excellent choice. That was the moment when human beings first unleashed t…", + "id": "4cfea21f72df", + "title": "Japanese Space Agency names arrival date for BepiColombo Mercury mission", + "link": "https://www.theregister.com/science/2026/05/26/japanese-space-agency-names-arrival-date-for-bepicolombo-mercury-mission/5245906", + "source": "The Register", + "sourceId": "the-register", + "category": "DevOps", + "publishedAt": "2026-05-26T04:10:38.000Z", + "summary": "Japan’s Aerospace Exploration Agency (JAXA) has offered a definitive date for the BepiColombo mission’s arrival at Mercury. BepiColombo is a joint effort between JAXA and the European Space Agency. The mission involves t…", "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/photo-of-the-earliest-instant-of-the-first-atomic-explosion-is-seen-as-a-grayish-white-semi-sphere-against-a-black-background.jpg?id=66722347&width=1245&height=700&coordinates=9%2C0%2C10%2C0", - "fallbackImage": "/assets/fallbacks/general.svg", + "image": "https://image.theregister.com/?imageId=242727&width=800", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.841Z" + "fetchedAt": "2026-05-26T13:50:29.750Z", + "sponsored": true }, { - "id": "c9a67980d511", - "title": "Custom MCP Catalogs and Profiles: Advancing Enterprise MCP Adoption", - "link": "https://www.docker.com/blog/create-custom-mcp-catalogs-and-profiles/", - "source": "Docker Blog", - "sourceId": "docker-blog", + "id": "9044faa8c733", + "title": "Meta's CacheLib Sees New Release After Two Year Hiatus For Helping With High DRAM Prices", + "link": "https://www.phoronix.com/news/CacheLib-2026.05.25", + "source": "Phoronix", + "sourceId": "phoronix", "category": "DevOps", - "publishedAt": "2026-05-15T13:00:00.000Z", - "summary": "We’re excited to announce the general availability of Custom Catalogs and Profiles for managing Model Context Protocol (MCP) servers. These two complementary capabilities fundamentally change how teams package, distribut…", + "publishedAt": "2026-05-26T04:00:00.000Z", + "summary": "Back in 2021 Facebook open-sourced CacheLib as a new caching engine. Back in 2021 it was done to help scale services with non-volatile memory caching to offset increasing DRAM costs at the time. Now in 2026, DRAM memory …", "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2026/05/image5.png", + "image": "https://www.phoronix.net/image.php?id=2026&image=cachelib", "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.839Z" + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true }, { - "id": "e11458099cea", - "title": "Presentation: Using AI as a Thinking Partner for Large-Scale Engineering Systems", - "link": "https://www.infoq.com/presentations/ai-large-scale-engineering-systems/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", - "source": "InfoQ", - "sourceId": "infoq", - "category": "AI", - "publishedAt": "2026-05-15T13:00:00.000Z", - "summary": "Julie Qiu explains how AI serves as a \"thinking partner\" for engineering leaders. She discusses five distinct roles - Archaeologist, Experimenter, Critic, Author, and Reviewer - to manage the cognitive load of 400+ repos…", + "id": "ebe8edfcca27", + "title": "Earthion: A New Mega Drive-Style Shoot-Em-Up", + "link": "https://earthiongame.com/", + "source": "Hacker News", + "sourceId": "hacker-news", + "category": "DevOps", + "publishedAt": "2026-05-26T03:42:23.000Z", + "summary": "Earthion is an upcoming shoot-em-up game that promises to deliver fast-paced action and stunning visuals. Developed by a small studio, the game's core technology relies on its use of the Unreal Engine 5 engine to create detailed environments and characters. Earthion's unique blend of sci-fi elements and retro-style graphics could appeal to fans of classic shooters like Mega Man and Contra. The game's release is expected to generate buzz among developers looking for new tools to enhance their projects.", + "summaryType": "ai", + "image": null, + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true + }, + { + "id": "6904164f2cc7", + "title": "Java News Roundup: WildFly, Micronaut, Spring AI, Apache Fory, GlassFish Plugin, Open Liberty", + "link": "https://www.infoq.com/news/2026/05/java-news-roundup-may18-2026/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", + "source": "InfoQ Java", + "sourceId": "infoq-java", + "category": "Java", + "publishedAt": "2026-05-26T02:30:00.000Z", + "summary": "This week's Java roundup for May 18th, 2026, features news highlighting: GA releases of WildFly 40, Micronaut 5.0, Maven Embedded GlassFish Plugin 8.0 and Apache Fory 1.0; the May 2026 edition of Open Liberty; point rele…", "summaryType": "snippet", - "image": "https://res.infoq.com/presentations/ai-large-scale-engineering-systems/en/card_header_image/generatedCard-1778069080461.jpg", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://res.infoq.com/news/2026/05/java-news-roundup-may18-2026/en/headerimage/java-news-roundup-image-1779748584910.jpg", + "fallbackImage": "/assets/fallbacks/java.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.640Z" + "fetchedAt": "2026-05-26T13:50:29.066Z", + "sponsored": true }, { - "id": "bbb8bd4bb880", - "title": "Real Python: The Real Python Podcast – Episode #295: Agentic Architecture: Why Files Aren't Always Enough", - "link": "https://realpython.com/podcasts/rpp/295/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-15T12:00:00.000Z", - "summary": "What are the limitations of using a file-based agent workflow? Why do massive context windows tend to collapse? This week on the show, Mikiko Bazeley from MongoDB joins us to discuss agentic architecture and context engi…", + "id": "17d86b9076d9", + "title": "Java News Roundup: WildFly, Micronaut, Spring AI, Apache Fory, GlassFish Plugin, Open Liberty", + "link": "https://www.infoq.com/news/2026/05/java-news-roundup-may18-2026/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "DevOps", + "publishedAt": "2026-05-26T02:30:00.000Z", + "summary": "This week's Java roundup for May 18th, 2026, features news highlighting: GA releases of WildFly 40, Micronaut 5.0, Maven Embedded GlassFish Plugin 8.0 and Apache Fory 1.0; the May 2026 edition of Open Liberty; point rele…", "summaryType": "snippet", - "image": "https://files.realpython.com/media/E_295_Podcast_Title.8ab2c4b18d8b.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", + "image": "https://res.infoq.com/news/2026/05/java-news-roundup-may18-2026/en/headerimage/java-news-roundup-image-1779748584910.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.985Z" + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true }, { - "id": "cefabf66d92d", - "title": "Real Python: Quiz: Python's Array: Working With Numeric Data Efficiently", - "link": "https://realpython.com/quizzes/python-array/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-15T12:00:00.000Z", - "summary": "In this quiz, you’ll test your understanding of Python’s Array: Working With Numeric Data Efficiently . By working through this quiz, you’ll revisit the differences between Python’s array module a…", + "id": "27e32739fe61", + "title": "Pope Leo warns AI boom can give Big Tech and the people who run it too much power", + "link": "https://www.theregister.com/ai-ml/2026/05/26/pope-leo-warns-ai-boom-can-give-big-tech-and-the-people-who-run-it-too-much-power/5245883", + "source": "The Register", + "sourceId": "the-register", + "category": "DevOps", + "publishedAt": "2026-05-26T02:10:55.000Z", + "summary": "Pope Leo XIV has made artificial intelligence the subject of the first major teaching issued since his appointment in May 2025, and included warnings that AI could lead to Big Tech companies and the moguls that accumulat…", "summaryType": "snippet", - "image": "https://files.realpython.com/media/Python-Array-Module_Watermarked.1a57ba003773.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", + "image": "https://image.theregister.com/?imageId=259632&width=800", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.985Z" + "fetchedAt": "2026-05-26T13:50:29.750Z", + "sponsored": true }, { - "id": "ae70e5943c89", - "title": "Bypassing On-Camera Age-Verification Checks", - "link": "https://www.schneier.com/blog/archives/2026/05/bypassing-on-camera-age-verification-checks.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", + "id": "9d01a8c5e564", + "title": "ISC Stormcast For Tuesday, May 26th, 2026 https://isc.sans.edu/podcastdetail/9944, (Tue, May 26th)", + "link": "https://isc.sans.edu/diary/rss/33020", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", "category": "Security", - "publishedAt": "2026-05-15T11:06:57.000Z", - "summary": "Some AI-based video age-verification checks can be fooled with a fake mustache .", + "publishedAt": "2026-05-26T02:00:02.000Z", + "summary": "(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.", "summaryType": "snippet", "image": null, "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.555Z" + "fetchedAt": "2026-05-26T13:50:28.181Z", + "sponsored": true }, { - "id": "71eded89611c", - "title": "Mini book: Architecting Autonomy: Decentralising Architecture Inside an Organization", - "link": "https://www.infoq.com/minibooks/architecting-autonomy/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Architecture", - "source": "InfoQ Architecture", - "sourceId": "infoq-arch", - "category": "Architecture", - "publishedAt": "2026-05-15T11:00:00.000Z", - "summary": "As AI accelerates delivery cycles, traditional centralized architecture becomes a bottleneck. This eMag brings together practitioner insights on decentralizing decision-making and moving from approval chains to guardrail…", + "id": "09cebaa44256", + "title": "Through-Glass Vias and the Long Road to Glass Substrates", + "link": "https://hackaday.com/2026/05/25/through-glass-vias-and-the-long-road-to-glass-substrates/", + "source": "Hackaday", + "sourceId": "hackaday", + "category": "DevOps", + "publishedAt": "2026-05-26T02:00:00.000Z", + "summary": "Glass-based substrates are slowly beginning to push out organic substrates commonly used in PCBs due to often superior material properties. One area where glass substrates have however struggled is with through-hole vias…", "summaryType": "snippet", - "image": "https://res.infoq.com/minibooks/architecting-autonomy/en/card_header_image/Architecting-Autonomy-Decentralising-architecture-Inside-an-Organization-social-card-1778570408999.jpg", - "fallbackImage": "/assets/fallbacks/architecture.svg", + "image": "https://hackaday.com/wp-content/uploads/2026/04/intel_glass_substrate.jpg?w=800", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.165Z" + "fetchedAt": "2026-05-26T13:50:29.299Z", + "sponsored": true }, { - "id": "9e4e6c1629b1", - "title": "What 45 Days of Watching Your Own Tools Will Tell You About Your Real Attack Surface", - "link": "https://thehackernews.com/2026/05/what-45-days-of-watching-your-own-tools.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-15T11:00:00.000Z", - "summary": "In Your Biggest Security Risk Isn't Malware — It's What You Already Trust, we made a simple argument: the most dangerous activity inside most organizations no longer looks like an attack. It looks like administration. Po…", + "id": "f2aaac958042", + "title": "Labwc 0.20 Wayland Compositor Released With Numerous New Features", + "link": "https://www.phoronix.com/news/Labwc-0.20-Compositor", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "DevOps", + "publishedAt": "2026-05-26T00:22:50.000Z", + "summary": "In addition to the release today of Sway 1.12 for that i3-inspired Wayland compositor, Labwc 0.20 is also out today as another wlroots-based Wayland compositor...", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVcSUDrpIZyFrHqIlIGnXfIShsEamRNviaM6TguPwmQI9KkhrIXOQbQ0WVKiOkcBGkFqKTKZmK16zPChmlcCbZHIkX3K_C0sjnyXYJjpZuJXO3OiIhUe7Ez8jCNiTxh0FGYS2-RR6HKsl9pWJVgc_uXAtHXj0hgU-mLSsOh-QHft6A92KtgWPQhk1OVPA/s1600/Attack-Surface.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://www.phoronix.net/image.php?id=2023&image=labwc", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.511Z" + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true }, { - "id": "a90e59666c1b", - "title": "TanStack Supply Chain Attack Hits Two OpenAI Employee Devices, Forces macOS Updates", - "link": "https://thehackernews.com/2026/05/tanstack-supply-chain-attack-hits-two.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", + "id": "16f2521f86e1", + "title": "Possible ACR Stealer From Page Impersonating Claude, (Tue, May 26th)", + "link": "https://isc.sans.edu/diary/rss/33018", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", "category": "Security", - "publishedAt": "2026-05-15T10:54:44.000Z", - "summary": "OpenAI has disclosed that two of its employee devices in its corporate environment were impacted via the Mini Shai-Hulud supply chain attack on TanStack, but noted that no user data, production systems, or intellectual p…", + "publishedAt": "2026-05-26T00:01:48.000Z", + "summary": "Introduction In recent weeks, I've searched for pages impersonating Claude that distribute malware. In recent weeks, I've reliably found these sites through malicious ads in Google searches that lead to these pages, ofte…", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1l4Vq20M4553fkDfGbO9VqLV9Au-6EefivLp8HT2W5QxJvgWf1mr6pg5xsbC5j3FCJzOOCJv_CImY1LjjFYIN_25ajki1iS_EVPvTyeVY7bC3ogcQFzHmE1Xyaz3cRXneilC0rWcb8dLbUapLI_jZ-uBaUkku48absoxM6TG16jS3xxtw9lhhtCvJmemK/s1600/chatgpt.jpg", + "image": "https://isc.sans.edu/diaryimages/images/2026-05-25-ISC-diary-image-01.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.511Z" + "fetchedAt": "2026-05-26T13:50:28.182Z", + "sponsored": true }, { - "id": "add1aeaa714a", - "title": "[Guest Diary] New Malware Libraries means New Signatures, (Fri, May 15th)", - "link": "https://isc.sans.edu/diary/rss/32986", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-15T06:38:33.000Z", - "summary": "This is a Guest Diary by Gokul Prema Thangavel, an ISC intern as part of the SANS.edu Bachelor Degree Program. Introduction The SHA-256 a8460f446be540410004b1a8db4083773fa46f7fe76fa84219c93daa1669f8f2 is one of the most-…", + "id": "9bfab004f145", + "title": "Bob Belderbos: From Python Script to Production: A Django Coaching Case Study", + "link": "https://belderbos.dev/blog/daniele-django-movie-anime-discovery/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T00:00:00.000Z", + "summary": "Six weeks of 1:1 coaching. The output: a Django app in production on Fly.io, covering movies, anime, and manga, with user accounts, a save library, Docker, and CI/CD on every push. Daniele started with Python skills and …", "summaryType": "snippet", - "image": "https://isc.sans.edu/diaryimages/images/figure1_cowrie_session.png", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://belderbos.dev/blog/daniele-django-movie-anime-discovery/&", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.849Z" + "fetchedAt": "2026-05-26T13:50:28.297Z", + "sponsored": true }, { - "id": "68c55730dc4b", - "title": "On-Prem Microsoft Exchange Server CVE-2026-42897 Exploited via Crafted Email", - "link": "https://thehackernews.com/2026/05/on-prem-microsoft-exchange-server-cve.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-15T06:19:04.000Z", - "summary": "Microsoft has disclosed a new security vulnerability impacting on-premise versions of Exchange Server that it said has come under active exploitation in the wild. The vulnerability, tracked as CVE-2026-42897 (CVSS score:…", + "id": "16ea20fdca47", + "title": "Graham Dumpleton: Per-interpreter GIL in mod_wsgi 6.0.0", + "link": "https://grahamdumpleton.me/posts/2026/05/per-interpreter-gil-in-mod-wsgi-6-0-0/", + "source": "Planet Python", + "sourceId": "planet-python", + "category": "Python", + "publishedAt": "2026-05-26T00:00:00.000Z", + "summary": "mod_wsgi 6.0.0 is currently available as a release candidate. You can install it from PyPI, or grab the source from the GitHub releases page. There is a significant amount of code cleanup behind this release, alongside a…", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirN79ZRjEd5wnVbOTlJJsWjQ54cwSj2bM5NDzBSgAFO8f_9LrlIwQRI0ZogQX42iejmhgc1n2YcA91pFrVqtqNKKyAIXblcQ1Yx9LTs1TeNDbNN6JMUBXCKDK1W0IwnwvYl1dhQmcyTPHwakckKT_Kc9fAUDAJRj94g2pENrjy4UyTCCniOXI2rO-q66PC/s1600/Microsoft-Exchange.png", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://opengraph.githubassets.com/52912d90/GrahamDumpleton/mod_wsgi", + "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.511Z" + "fetchedAt": "2026-05-26T13:50:28.298Z", + "sponsored": true }, { - "id": "3c10d4efa00d", - "title": "EuroPython: May Newsletter: Sessions, Speakers, Sprints", - "link": "https://blog.europython.eu/may-newsletter-sessions-speakers-sprints/", + "id": "83bdc5632b66", + "title": "Armin Ronacher: Clanker: A Word For The Machine", + "link": "https://lucumr.pocoo.org/2026/5/26/clankers/", "source": "Planet Python", "sourceId": "planet-python", "category": "Python", - "publishedAt": "2026-05-15T06:00:54.000Z", - "summary": "Hi all Pythonistas! 👋  Hope you’ve been enjoying these last few weeks, and hopefully planning your trip to Kraków in July! With two months left before the conference, the EuroPython organising te…", + "publishedAt": "2026-05-26T00:00:00.000Z", + "summary": "In my last post I used the word “clanker” as an alternative to “agent” quite consistently and probably excessively. That choice ended up attracting a lot more attention than I expected in the Hack…", "summaryType": "snippet", - "image": "https://blog.europython.eu/content/images/2026/01/social-card--2--1.png", + "image": "https://lucumr.pocoo.org/social/2026-05-26-clankers-social.png", "fallbackImage": "/assets/fallbacks/python.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.985Z" + "fetchedAt": "2026-05-26T13:50:28.298Z", + "sponsored": true }, { - "id": "3ee69a3715c0", - "title": "CISA Adds Cisco SD-WAN CVE-2026-20182 to KEV After Admin Access Exploits", - "link": "https://thehackernews.com/2026/05/cisa-adds-cisco-sd-wan-cve-2026-20182.html", - "source": "The Hacker News", - "sourceId": "the-hacker-news", - "category": "Security", - "publishedAt": "2026-05-15T05:28:03.000Z", - "summary": "The U.S.Cybersecurity and Infrastructure Security Agency (CISA) on Thursday added a newly disclosed vulnerability impacting Cisco Catalyst SD-WAN Controller to its Known Exploited Vulnerabilities (KEV) catalog, requiring…", + "id": "2a6fd6bef883", + "title": "[Sponsor] exe.dev", + "link": "https://exe.dev/?df", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "DevOps", + "publishedAt": "2026-05-25T23:57:52.000Z", + "summary": "A cloud for the agent era. Use exe.dev to get a pool of VMs with SSH, root, and web auth by default. Secrets injected at the network edge stay out of the LLM’s hands. Persistent servers, internal tools, vibe coding, disp…", "summaryType": "snippet", - "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4XG5z00sF3uL0ZbhtZNiergQ9QVaZJydwP1pXEdPh2o29mwvTS2nPKRbxHftwnEJ1pvxMQS9TQknWqbovk-vW7BRPHUSsBhN4yL2iOwJnlmK7lzCdW9tJbKtKLbnfSZSWgfGlWQ6HO807gjR6dP61VylH1zxWtvfo3c7ui8aBecSjVz5miCG0jHoa8rUA/s1600/cisa-exploit.png", - "fallbackImage": "/assets/fallbacks/security.svg", + "image": "https://exe.dev/static/exy.png", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.511Z" + "fetchedAt": "2026-05-26T13:50:29.652Z", + "sponsored": true }, { - "id": "419703d5d6de", - "title": "ISC Stormcast For Friday, May 15th, 2026 https://isc.sans.edu/podcastdetail/9934, (Fri, May 15th)", - "link": "https://isc.sans.edu/diary/rss/32992", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-15T04:10:13.000Z", - "summary": "(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.", + "id": "264de92e0f70", + "title": "Using AI to write better code more slowly", + "link": "https://nolanlawson.com/2026/05/25/using-ai-to-write-better-code-more-slowly/", + "source": "Hacker News", + "sourceId": "hacker-news", + "category": "DevOps", + "publishedAt": "2026-05-25T23:16:59.000Z", + "summary": "Using AI to write better code more slowly is a flexible technology that can be used to write high-quality code more slowly, finding bugs and avoiding false positives in an unscrutinized codebase. This approach prioritizes and validates the found bugs rather than trying to find as many as possible. By using multiple models to review PRs, developers can reduce the likelihood of hallucinations or bogus bugs and focus on writing high-quality code.", + "summaryType": "ai", + "image": "https://s2.wp.com/wp-content/themes/pub/springloaded/images/search-btn.gif?m=1230136840i", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true + }, + { + "id": "6b1027e772dc", + "title": "z386: An Open-Source 80386 Built Around Original Microcode", + "link": "https://hackaday.com/2026/05/25/z386-an-open-source-80386-built-around-original-microcode/", + "source": "Hackaday", + "sourceId": "hackaday", + "category": "DevOps", + "publishedAt": "2026-05-25T23:00:23.000Z", + "summary": "https://commons.wikimedia.org/wiki/File:Intel_chips_286_386_486_size_comparison.jpg \" data-image-caption=\"\" data-large-file=\"https://hackaday.com/wp-content/uploads/2026/05/Intel_chips_286_386_486_size_comparison.jpg?w=8…", "summaryType": "snippet", + "image": "https://hackaday.com/wp-content/uploads/2026/05/Intel_chips_286_386_486_size_comparison.jpg?w=800", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.299Z", + "sponsored": true + }, + { + "id": "9c756fbafb31", + "title": "Human proof for FOSS contributions", + "link": "https://dillo-browser.org/lab/human-proof/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-25T22:44:37.000Z", + "summary": "Human proof for FOSS contributions relies on distinguishing between LLM-generated patches and those created by humans. Researchers are exploring the use of asciinema recordings to verify the authenticity of contributors' work. Asciinema captures the keystrokes, terminal output, and even mistakes made during programming sessions, making it a potential tool for detecting human-made contributions. However, its limitations, such as requiring users to start and stop recording, may not be sufficient for widespread adoption.", + "summaryType": "ai", "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.849Z" + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true }, { - "id": "fb4539c67065", - "title": "Why Cilium vendors every Go module in 2026", - "link": "https://golangweekly.com/issues/601", - "source": "Go Weekly", - "sourceId": "go-weekly", - "category": "Go", - "publishedAt": "2026-05-15T00:00:00.000Z", - "summary": "#​601 — May 15, 2026 Read the Web Version Go Weekly 'Go Fuzzing Was Missing Half the Toolkit: We Forked the Toolchain to Fix It' — Go’s fuzzer lags the LibAFL-class tools Rust and C++ devs take for granted. Enter gosentr…", - "summaryType": "snippet", + "id": "d1d1ec505041", + "title": "How Shamir's Secret Sharing Works", + "link": "https://ente.com/blog/how-shamirs-secret-sharing-works/", + "source": "Hacker News", + "sourceId": "hacker-news", + "category": "Security", + "publishedAt": "2026-05-25T22:37:24.000Z", + "summary": "Shamir's secret sharing works by dividing a large amount of data into smaller, independent pieces called shares. Each share is generated using a unique mathematical function that depends on the shares of other users. The goal is to ensure that even if one or more shares are compromised, the remaining shares can still reconstruct the original data. This approach has significant implications for secure data sharing and storage, particularly in applications where confidentiality and integrity are crucial.", + "summaryType": "ai", + "image": "https://ente.com/og-images/how-shamirs-secret-sharing-works.png", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true + }, + { + "id": "38e8e540cfe7", + "title": "Taking a walk may lead to more creativity than sitting, study finds (2014)", + "link": "https://www.apa.org/news/press/releases/2014/04/creativity-walk", + "source": "Hacker News", + "sourceId": "hacker-news", + "category": "DevOps", + "publishedAt": "2026-05-25T22:30:27.000Z", + "summary": "A new study suggests that taking regular walks can boost creativity in individuals. The research found that people who took a walk outside were more likely to experience creative breakthroughs compared to those who sat or worked indoors. This finding has implications for developers, as it may lead to increased innovation and problem-solving skills through the integration of physical activity into their work routines.", + "summaryType": "ai", "image": null, - "fallbackImage": "/assets/fallbacks/go.svg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.804Z" + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true }, { - "id": "66dd106edba8", - "title": "GitHub availability report: April 2026", - "link": "https://github.blog/news-insights/company-news/github-availability-report-april-2026/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-14T22:02:43.000Z", - "summary": "In April, we experienced 10 incidents that resulted in degraded performance across GitHub services. To increase transparency, at the end of April, we released a blog post covering major incidents on April 23 and April 27…", + "id": "8ef1c208f636", + "title": "Extremely simple internet radio controlled via IRC", + "link": "https://codeberg.org/lindenii/tunecat/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-25T22:12:51.000Z", + "summary": "This website requires JavaScript, which means it needs to be accessed through a web browser. Lindenii's tunecat server provides internet radio functionality via IRC, allowing users to listen to Classical Music Mix (CC Public Domain Mark 1.0) on a chaotic network. The project uses Pure Go and opusify to pre-transcode songs to Opus 128 kbps, making it easy to deploy and lightweight.", + "summaryType": "ai", + "image": "https://codeberg.org/lindenii/tunecat/-/summary-card", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true + }, + { + "id": "c98eeb809d28", + "title": "Sennheiser's Momentum 5 headphones are all about the audio and ANC upgrades", + "link": "https://www.engadget.com/2177988/sennheiser-momentum-5-headphones-are-all-about-the-audio-and-anc-upgrades/", + "source": "Engadget", + "sourceId": "engadget", + "category": "DevOps", + "publishedAt": "2026-05-25T22:00:00.000Z", + "summary": "Sennheiser's latest Momentum headphones offer key audio and ANC improvements, including Dolby Atmos with head tracking.", "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2025/08/wallpaper-generic-.png", - "fallbackImage": "/assets/fallbacks/open-source.svg", + "image": "https://www.engadget.com/img/gallery/sennheisers-momentum-5-headphones-are-all-about-the-audio-and-anc-upgrades/l-intro-1779301847.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.285Z" + "fetchedAt": "2026-05-26T13:50:29.515Z", + "sponsored": true }, { - "id": "b75a48efebd6", - "title": "Fragments: May 14", - "link": "https://martinfowler.com/fragments/2026-05-14.html", - "source": "Martin Fowler", - "sourceId": "martin-fowler", - "category": "Architecture", - "publishedAt": "2026-05-14T21:52:00.000Z", - "summary": "Last week I spent a day at a retreat that brought together several people working in software development to talk about the profession’s future with the rise of agentic programming. The event was help under the Chatham H…", + "id": "6d2bf4226edd", + "title": "The History of ‘OK’", + "link": "https://www.merriam-webster.com/wordplay/the-hilarious-history-of-ok-okay", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "DevOps", + "publishedAt": "2026-05-25T21:41:45.000Z", + "summary": "Merriam-Webster: The 1820s and 1830s shared another linguistic fad with today: an appreciation for deliberate misspellings. (Kewl, rite?) This trend, which had humorists adopting now-cringey bumpkin personas with ignoran…", "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.664Z" + "image": "https://merriam-webster.com/assets/mw/images/article/art-wap-landing-mp-lg/alt-5b7f01c2a284f-5542-000aec97038c121eef24afa1ea1adda6@1x.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.653Z", + "sponsored": true }, { - "id": "a8440b716dbf", - "title": "Two from MIT named 2026 Knight-Hennessy Scholars", - "link": "https://news.mit.edu/2026/knight-hennessy-scholars-0514", - "source": "MIT AI News", - "sourceId": "mit-ai", - "category": "AI", - "publishedAt": "2026-05-14T20:55:00.000Z", - "summary": "MIT master’s student Sunshine Jiang ’25 and Rupert Li ’24 are recipients of this year’s Knight-Hennessy Scholarship. Now in its ninth year, the highly competitive scholarship provides up to three years of financial suppo…", + "id": "270fb711606e", + "title": "Ferrari reveals its first EV, with design help from Jony Ive", + "link": "https://www.theverge.com/transportation/937066/ferrari-luce-ev-jony-ive-marc-newson-lovefrom", + "source": "The Verge", + "sourceId": "the-verge", + "category": "DevOps", + "publishedAt": "2026-05-25T21:33:12.000Z", + "summary": "After months of teasers , Ferrari is offering the first full view of its Luce electric vehicle . The Luce is notable not just for being Ferrari's first EV, but for being designed in collaboration with Jony Ive and Mark N…", "summaryType": "snippet", - "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202605/MIT-Knight-Hennessy2026-jiang-li.jpg?itok=_hiXai7A", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/2026/05/ferrari_luce4.jpg?quality=90&", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.586Z" + "fetchedAt": "2026-05-26T13:50:29.186Z", + "sponsored": true }, { - "id": "03faa016f2ad", - "title": "[$] Policy groups for memory management", - "link": "https://lwn.net/Articles/1072517/", + "id": "17d01c579045", + "title": "[$] Reviewing kernel patches with LLMs", + "link": "https://lwn.net/Articles/1073583/", "source": "LWN.net", "sourceId": "lwn", "category": "Open Source", - "publishedAt": "2026-05-14T19:02:35.000Z", - "summary": "The kernel's control-group subsystem works well for resource management, Chris Li said at the beginning of his memory-management-track session at the 2026 Linux Storage, Filesystem, Memory Management, and BPF Summit . Co…", + "publishedAt": "2026-05-25T21:27:22.000Z", + "summary": "In a plenary session at the 2026 Linux Storage, Filesystem, Memory Management, and BPF Summit , the state of patch review using large language models (LLMs) was discussed. It is a topic that has been swirling around in t…", "summaryType": "snippet", "image": null, "fallbackImage": "/assets/fallbacks/open-source.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true }, { - "id": "f8f9fecf40e7", - "title": "Simplify cross-account and cross-Region stack output references with AWS CloudFormation and CDK’s new Fn::GetStackOutput", - "link": "https://aws.amazon.com/blogs/devops/simplify-cross-account-and-cross-region-stack-output-references-with-aws-cloudformation-and-cdks-new-fngetstackoutput/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", + "id": "ee4ff4deb16e", + "title": "The Electric Ferrari Luce Is Finally Here", + "link": "https://www.wired.com/story/ferrari-luce-ev-is-finally-here/", + "source": "Wired", + "sourceId": "wired", "category": "DevOps", - "publishedAt": "2026-05-14T19:00:02.000Z", - "summary": "AWS CloudFormation makes it easy to model and provision your cloud application infrastructure as code. CloudFormation templates can be written directly in JSON or YAML, or they can be generated by tools like the AWS Clou…", + "publishedAt": "2026-05-25T21:03:01.000Z", + "summary": "The covers have come off the Ferrari Luce, the most anticipated EV ever. It completely breaks the Italian car maker's aesthetic archetype.", "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/05/14/Screenshot-2026-05-14-at-9.18.22%E2%80%AFAM.png", + "image": "https://media.wired.com/photos/6a14b4e9be8e06a7214bd4ae/master/pass/Luce_30rtv4_lightson_6000x3375.jpg", "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.209Z" + "fetchedAt": "2026-05-26T13:50:29.257Z", + "sponsored": true }, { - "id": "f23572fc961c", - "title": "Kubernetes v1.36: Deprecation and removal of Service ExternalIPs", - "link": "https://kubernetes.io/blog/2026/05/14/kubernetes-v1-36-deprecation-and-removal-of-service-externalips/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", + "id": "e2f3e1b48c5b", + "title": "Ferrari Luce", + "link": "https://www.ferrari.com/en-EN/auto/ferrari-luce", + "source": "Hacker News", + "sourceId": "hacker-news", "category": "DevOps", - "publishedAt": "2026-05-14T18:35:00.000Z", - "summary": "The .spec.externalIPs field for Service was an early attempt to provide cloud-load-balancer-like functionality for non-cloud clusters. Unfortunately, the API assumes that every user in the cluster is fully trusted, and i…", - "summaryType": "snippet", + "publishedAt": "2026-05-25T21:00:38.000Z", + "summary": "Ferrari's new hybrid powertrain technology is set to revolutionize the automotive industry. The company has developed a system that combines a traditional internal combustion engine with an electric motor, allowing for improved fuel efficiency and reduced emissions. This innovation could have significant implications for developers working on electric vehicles, as it provides a viable alternative to traditional battery-electric powertrains. As such, Ferrari's Luce technology matters greatly to the industry.", + "summaryType": "ai", "image": null, "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.064Z" + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true }, { - "id": "a4ff4bc7bf51", - "title": "Zero-day exploit completely defeats default Windows 11 BitLocker protections", - "link": "https://arstechnica.com/security/2026/05/zero-day-exploit-completely-defeats-default-windows-11-bitlocker-protections/", - "source": "Ars Technica", - "sourceId": "ars-technica", - "category": "Security", - "publishedAt": "2026-05-14T18:32:01.000Z", - "summary": "A zero-day exploit circulating online allows people with physical access to a Windows 11 system to bypass default BitLocker protections and gain complete access to an encrypted drive within seconds. The exploit, named Ye…", + "id": "9cda4741df51", + "title": "Awarding Jay Haynes His Being Right Points for Predicting Apple Hitting $3 Trillion in Market Cap", + "link": "https://daringfireball.net/linked/2014/01/29/haynes-aapl", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "DevOps", + "publishedAt": "2026-05-25T20:32:38.000Z", + "summary": "Here’s a fun one. Back in 2014 I linked to a post by Jay Haynes in which he projected that with a very reasonable level of annual growth, Apple ought to reach a $3 trillion market cap within 10 years. At the time of his …", "summaryType": "snippet", - "image": "https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security.jpg", + "image": "https://daringfireball.net/graphics/df-wide-card.png", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.653Z", + "sponsored": true + }, + { + "id": "080f8b9f6386", + "title": "Thieves Are Texting Threats to Victims of iPhone Theft in London", + "link": "https://www.nytimes.com/2026/05/23/world/europe/phone-theft-threats-london.html?unlocked_article_code=1.lFA.OUt7.VJ_FoDpINr0L", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "DevOps", + "publishedAt": "2026-05-25T20:27:45.000Z", + "summary": "Lizzie Dearden and Amelia Nierenberg, reporting for The New York Times (gift link): The crime Alex Pikula reported to the police was one they had heard before: An e-bike rider had zoomed past as Mr. Pikula left a theater…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.653Z", + "sponsored": true + }, + { + "id": "676e6a16f010", + "title": "Splitting Konsole views from Helix to run tools", + "link": "https://akselmo.dev/posts/splitting-konsole-views-from-helix-to-run-tools/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-25T20:11:24.000Z", + "summary": "Konsole's built-in splitting feature allows users to easily manage multiple views within a single process. By setting up a shell script to automate this process, developers can streamline their workflow and reduce manual effort. This feature is particularly useful for those who prefer modal editing or need to run complex commands in separate sessions.", + "summaryType": "ai", + "image": null, + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true + }, + { + "id": "fdc9df8bf727", + "title": "Ferrari Luce unveiled: Here's the first car from Jony Ive's design house", + "link": "https://www.engadget.com/2180674/ferrari-luce-first-look-jony-ive/", + "source": "Engadget", + "sourceId": "engadget", + "category": "DevOps", + "publishedAt": "2026-05-25T20:10:00.000Z", + "summary": "Our first look at a complete version of Ferrari's upcoming luxury EV that was designed by LoveFrom.", + "summaryType": "snippet", + "image": "https://www.engadget.com/img/gallery/ferrari-luce-unveiled-heres-the-first-car-from-jony-ives-design-house/l-intro-1779733678.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.515Z", + "sponsored": true + }, + { + "id": "db527a795aa2", + "title": "Lost Version of Amiga Unix Suddenly Reappears", + "link": "https://hackaday.com/2026/05/25/lost-version-of-amiga-unix-suddenly-reappears/", + "source": "Hackaday", + "sourceId": "hackaday", + "category": "DevOps", + "publishedAt": "2026-05-25T20:00:00.000Z", + "summary": "Some of you may know there’s a version of UNIX for the Commodore Amiga, aptly called Amiga Unix or AMIX. There is an almost complete record of versions from 1.0 to 2.03, but 2.02 was lost media–until [Forgott…", + "summaryType": "snippet", + "image": "https://hackaday.com/wp-content/uploads/2026/05/amix.jpg?w=800", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.300Z", + "sponsored": true + }, + { + "id": "51f14a08fd4f", + "title": "Why prompt debt, retrieval debt, and evaluation debt are quietly reshaping enterprise AI risk", + "link": "https://venturebeat.com/technology/why-prompt-debt-retrieval-debt-and-evaluation-debt-are-quietly-reshaping-enterprise-ai-risk", + "source": "VentureBeat", + "sourceId": "venturebeat", + "category": "AI", + "publishedAt": "2026-05-25T19:30:18.000Z", + "summary": "Over the past two decades, technical debt meant outdated architecture, messy code, and poorly maintained documentation. That definition is no longer sufficient in the AI era, where failure modes are more subtle and often…", + "summaryType": "snippet", + "image": "https://images.ctfassets.net/jdtwqhzvc2n1/5EPGNjSfIxe7zELYT7IVMw/798975854f7bad614de18713c7462cb0/Technical_debt.png?w=300&q=30", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.683Z", + "sponsored": true + }, + { + "id": "1d8ddd22b387", + "title": "Trump Mobile Website Exposed the Number of Pre-Orders — Both Completed and Abandoned — and the Associated Customer Information", + "link": "https://www.theguardian.com/us-news/2026/may/23/trump-mobile-investigating-potential-exposure-of-would-be-customers-personal-information", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "Security", + "publishedAt": "2026-05-25T18:54:53.000Z", + "summary": "Catie McLeod, The Guardian: Trump Mobile said in a statement that it was investigating the issue — “with the assistance of independent cybersecurity professionals” — in which the full names, addresses and phone numbers o…", + "summaryType": "snippet", + "image": "https://i.guim.co.uk/img/media/70c74c12869e42640c3f680d891be8faf25a8ee3/6_26_580_464/master/580.jpg?width=1200&height=630&quality=85&auto=format&fit=crop&precrop=40:21,offset-x50,offset-y0&overlay-align=bottom%2Cleft&overlay-width=100p&overlay-base64=L2ltZy9zdGF0aWMvb3ZlcmxheXMvdGctZGVmYXVsdC5wbmc&enable=upscale&s=8af9d2fb4f0332b19a1e6793c718135c", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.119Z" + "fetchedAt": "2026-05-26T13:50:29.653Z", + "sponsored": true }, { - "id": "02131400c8b2", - "title": "IEEE Society Helps Researchers Meet Their Next Corporate Backer", - "link": "https://spectrum.ieee.org/ieee-society-pitch-sessions", + "id": "ac251e22728c", + "title": "Cox Media fined after bragging it spied on users through their phones", + "link": "https://www.theverge.com/policy/937027/cox-media-marketing-ai-powered-phone-spying-ads-ftc-fine", + "source": "The Verge", + "sourceId": "the-verge", + "category": "DevOps", + "publishedAt": "2026-05-25T18:28:30.000Z", + "summary": "An exceptionally weird controversy has come back to haunt Cox Media and a pair of marketing firms, which claimed they were secretly listening to users via phones and smart devices - despite little evidence they actually …", + "summaryType": "snippet", + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/chorus/uploads/chorus_asset/file/13959620/acastro_190204_1777_privacy_0001.jpg?quality=90&", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.186Z", + "sponsored": true + }, + { + "id": "1d83364faf6b", + "title": "★ The Fonts of the U.S. Federal Courts", + "link": "https://daringfireball.net/2026/05/the_fonts_of_the_us_federal_courts", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "DevOps", + "publishedAt": "2026-05-25T18:22:13.000Z", + "summary": "The 13 circuits of the U.S. federal courts of appeals operate with a fair amount of independence, including their typographic choices . I was reminded of this today while reading the aforelinked decision from the Ninth C…", + "summaryType": "snippet", + "image": "https://daringfireball.net/graphics/df-wide-card.png", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.653Z", + "sponsored": true + }, + { + "id": "6ce3e368a6ea", + "title": "IEEE TryEngineering OnCampus Program Expands to 7 Universities", + "link": "https://spectrum.ieee.org/tryengineering-oncampus-expansion", "source": "IEEE Spectrum", "sourceId": "ieee-spectrum", - "category": "AI", - "publishedAt": "2026-05-14T18:00:02.000Z", - "summary": "The IEEE Communications Society (ComSoc) ’s Research Collaboration Pitch Session initiative is proving to be a catalyst for meaningful engagement between academic researchers and industry innovators. Launched last year, …", + "category": "DevOps", + "publishedAt": "2026-05-25T18:00:01.000Z", + "summary": "The OnCampus program, administered by IEEE Educational Activities , last year expanded its engineering experiences from two to seven universities. Part of TryEngineering , the program is held at universities around the w…", "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/a-man-giving-a-presentation-in-front-of-a-roundtable-audience.jpg?id=66734604&width=1245&height=700&coordinates=0%2C62%2C0%2C63", - "fallbackImage": "/assets/fallbacks/ai.svg", + "image": "https://spectrum.ieee.org/media-library/three-omani-high-school-students-in-kummahs-smiling-together-at-a-computer-desk.jpg?id=66770660&width=1245&height=700&coordinates=0%2C469%2C0%2C469", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.842Z" + "fetchedAt": "2026-05-26T13:50:28.093Z", + "sponsored": true }, { - "id": "286c90eab84e", - "title": "Cisco announces record revenue and 4,000 layoffs in the same day", - "link": "https://arstechnica.com/information-technology/2026/05/cisco-announces-record-revenue-and-4000-layoffs-in-the-same-day/", - "source": "Ars Technica", - "sourceId": "ars-technica", - "category": "General", - "publishedAt": "2026-05-14T16:47:43.000Z", - "summary": "Following a quarter in which his company delivered record revenue, Cisco CEO Chuck Robbins announced that the company's latest round of layoffs begins today. In a blog post yesterday, Robbins was quick to boast that Cisc…", + "id": "fbd0509974a9", + "title": "A Swimmer Broke a World Record at the Enhanced Games", + "link": "https://www.wired.com/story/a-swimmer-broke-a-world-record-at-the-enhanced-games/", + "source": "Wired", + "sourceId": "wired", + "category": "DevOps", + "publishedAt": "2026-05-25T17:32:55.000Z", + "summary": "Dozens of juiced athletes competed at the Enhanced Games in Las Vegas. Most won’t admit what drugs they used.", "summaryType": "snippet", - "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/GettyImages-2251821138-1024x648.jpg", - "fallbackImage": "/assets/fallbacks/general.svg", + "image": "https://media.wired.com/photos/6a148361663a6251fd7bf24b/master/pass/Enhanced-Games-Kristian-Gkolomeev-Culture-2278066458.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.119Z" + "fetchedAt": "2026-05-26T13:50:29.257Z", + "sponsored": true }, { - "id": "82b732aa1849", - "title": "Upcoming Speaking Engagements", - "link": "https://www.schneier.com/blog/archives/2026/05/upcoming-speaking-engagements-56.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", + "id": "9e7b52b9922d", + "title": "The User Is Visibly Frustrated", + "link": "https://pscanf.com/s/354/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-25T17:29:47.000Z", + "summary": "Coding agents are designed to mimic human-like conversational UX, but their lack of learning, adaptation, or responsibility makes repeated mistakes feel frustratingly more so than they should. This frustration is not unique to coding agents, as developers often experience similar feelings when working with probabilistic machines that generate patches. The conversational nature of these tools can lull users into feeling like they're interacting with a helpful coworker, but the reality is that the algorithm follows the most probable path and cannot be pushed off it. This lack of emotional response can lead to feelings of frustration and anger, even if the user's actions have no effect on the outcome.", + "summaryType": "ai", + "image": null, + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true + }, + { + "id": "6b1cf4313891", + "title": "Encyclical Letter of His Holiness Leo XIV Magnifica Humanitas", + "link": "http://www.vatican.va/content/leo-xiv/en/encyclicals/documents/20260515-magnifica-humanitas.html", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-25T17:07:48.000Z", + "summary": "The Encyclical Letter of His Holiness Pope Leo XIV on Safeguarding the Human Person in the Time of Artificial Intelligence is a call to action for developers and technologists to prioritize human dignity and well-being in the face of emerging technologies like artificial intelligence. The letter emphasizes the importance of faithfulness to the Gospel, social doctrine, and the common good, while also acknowledging the potential benefits of technology. It argues that safeguarding humanity requires vigilance, transparency, and responsible governance of AI, as well as a commitment to human values such as truth, work, freedom, and dignity.", + "summaryType": "ai", + "image": null, + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.258Z" + }, + { + "id": "e925edaffd1b", + "title": "Anthropic’s restricted Claude Mythos model may be coming to Claude Code", + "link": "https://www.bleepingcomputer.com/news/artificial-intelligence/anthropics-restricted-claude-mythos-model-may-be-coming-to-claude-code/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", "category": "Security", - "publishedAt": "2026-05-14T16:01:38.000Z", - "summary": "This is a current list of where and when I am scheduled to speak: I’m giving a virtual talk on “The Security of Trust in the Age of AI,” hosted by the Financial Women’s Association of New York , at 6:00 PM ET on May 21, …", + "publishedAt": "2026-05-25T17:07:33.000Z", + "summary": "Anthropic appears to be preparing for the public rollout of the Mythos model, which was announced in April as a restricted model that poses major security risks to private and public software. [...]", "summaryType": "snippet", - "image": null, + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/07/ClaudeChats.png", "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z" + }, + { + "id": "8ec85c0b8a93", + "title": "3D Printing Space Cadet Pinball Into the Real World", + "link": "https://hackaday.com/2026/05/25/3d-printing-space-cadet-pinball-into-the-real-world/", + "source": "Hackaday", + "sourceId": "hackaday", + "category": "DevOps", + "publishedAt": "2026-05-25T17:00:00.000Z", + "summary": "Unless you’ve managed to avoid touching a Windows computer until after the Windows XP era, it’s pretty good odds you’ve played Space Cadet Pinball . Some of you may have even paid for the Mac port of Fu…", + "summaryType": "snippet", + "image": "https://hackaday.com/wp-content/uploads/2026/05/SpaceCadetPinball-feat.jpg?w=800", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.300Z", + "sponsored": true + }, + { + "id": "56611352f14b", + "title": "Comprehensive Response to Bambu's AGPLv3 Violations (Software Freedom Conservancy)", + "link": "https://lwn.net/Articles/1074286/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-25T16:48:13.000Z", + "summary": "The Software Freedom Conservancy (SFC) published a news item on May 18 about its response to violations of the AGPLv3 by Bambu Lab in its 3D printers. The company has not provided the source code to its modifications to …", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.556Z" + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true }, { - "id": "51fdee1a4069", - "title": "From latency to instant: Modernizing GitHub Issues navigation performance", - "link": "https://github.blog/engineering/architecture-optimization/from-latency-to-instant-modernizing-github-issues-navigation-performance/", + "id": "55b596515b83", + "title": "Microsoft Introduces MDASH for Large-Scale AI Vulnerability Research", + "link": "https://www.infoq.com/news/2026/05/microsoft-mdash/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "Security", + "publishedAt": "2026-05-25T16:30:00.000Z", + "summary": "Microsoft has introduced a new AI-driven vulnerability discovery system called MDASH, a multi-model agentic security platform designed to automate large-scale code auditing across Windows and other Microsoft software env…", + "summaryType": "snippet", + "image": "https://res.infoq.com/news/2026/05/microsoft-mdash/en/headerimage/generatedHeaderImage-1779714731614.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true + }, + { + "id": "431280033335", + "title": "Sway 1.12 Released With HDR Support On Vulkan Renderer, New Protocols", + "link": "https://www.phoronix.com/news/Sway-1.12-Released", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "DevOps", + "publishedAt": "2026-05-25T16:20:00.000Z", + "summary": "Sway 1.12 is out today as the newest feature release of this i3-inspired Wayland compositor powered by the wlroots library...", + "summaryType": "snippet", + "image": "https://www.phoronix.net/image.php?id=2026&image=sway", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true + }, + { + "id": "88badcf5a334", + "title": "The Open/Closed Problem in AI", + "link": "https://blog.mempko.com/the-open-closed-problem-in-ai/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-25T16:17:21.000Z", + "summary": "The Open/Closed problem in AI refers to the challenge of designing systems that can adapt and learn from new data without requiring significant modifications to their underlying architecture. This issue arises when training large language models like LLMs, which often rely on an open loop where the model is trained using a fixed loss function and then deployed without learning from its own performance. As a result, developers must find ways to train these models in an efficient manner that allows them to adapt to new data, while also ensuring that they can be updated and fine-tuned as needed.", + "summaryType": "ai", + "image": "https://blog.mempko.com/content/images/2026/05/1000026828.jpg", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true + }, + { + "id": "e3fc9ba847d1", + "title": "The best Memorial Day sales you can shop this weekend", + "link": "https://www.theverge.com/gadgets/936196/best-memorial-day-sales-tech-deals-2026", + "source": "The Verge", + "sourceId": "the-verge", + "category": "DevOps", + "publishedAt": "2026-05-25T16:04:11.000Z", + "summary": "Memorial Day is here, meaning the seasonal sales are in full swing. If your plans over the long weekend involve pool parties or barbecues, now is a great time to pick up a portable speaker or set of solar lights , as man…", + "summaryType": "snippet", + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/2026/05/ring_battery_doorbell_puss.jpg?w=300", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.189Z", + "sponsored": true + }, + { + "id": "9b88dcf1c57d", + "title": "GitHub for Beginners: Getting started with Git and GitHub in VS Code", + "link": "https://github.blog/developer-skills/github/github-for-beginners-getting-started-with-git-and-github-in-vs-code/", "source": "GitHub Blog", "sourceId": "github-blog", "category": "Open Source", - "publishedAt": "2026-05-14T16:00:00.000Z", - "summary": "When you’re working through a backlog—opening an issue, jumping to a linked thread, then back to the list—latency isn’t just a metric. It’s a context switch. Even small delays add up, and th…", + "publishedAt": "2026-05-25T16:00:00.000Z", + "summary": "Welcome back to GitHub for Beginners. We’ve covered a lot this season, so make sure to check out our other episodes. Our most recent one was all about open source, what it is and how to contribute to the community.…", "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2026/05/finalResults.png?resize=1024%2C615", + "image": "https://github.blog/wp-content/uploads/2026/05/GIT901_THUMB_GFB_A-1.png?fit=1280%2C720", "fallbackImage": "/assets/fallbacks/open-source.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.287Z" + "fetchedAt": "2026-05-26T13:50:28.494Z", + "sponsored": true }, { - "id": "90ea004a079e", - "title": "Bliki: Interrogatory LLM", - "link": "https://martinfowler.com/bliki/InterrogatoryLLM.html", - "source": "Martin Fowler", - "sourceId": "martin-fowler", - "category": "Architecture", - "publishedAt": "2026-05-14T15:04:00.000Z", - "summary": "When we need an LLM to perform a complex task, we often need to feed it a lot of context. Coming up with a design for a new feature requires descriptions of how we want the feature to appear to the user, guidelines on ho…", + "id": "cb4c968d1209", + "title": "WorkOS: ‘Agents Need Context. Ship the Integrations That Give It to Them.’", + "link": "https://workos.com/docs/pipes?utm_source=daringfireball&utm_medium=newsletter&utm_campaign=q22026", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "DevOps", + "publishedAt": "2026-05-25T15:09:43.000Z", + "summary": "My thanks to WorkOS for once again sponsoring DF last week. The context that actually matters isn’t in your database. It’s in the tools your users live in every day. Multi-stage agents stall the moment they hit a step th…", + "summaryType": "snippet", + "image": "https://og-images.workos.com/api/docs/?t=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXRlZ29yeSI6IkRvY3MiLCJ0aXRsZSI6IlBpcGVzIiwiZGVzY3JpcHRpb24iOiJFbmFibGUgeW91ciBjdXN0b21lcnMgdG8gY29ubmVjdCB0aGVpciB0aGlyZC1wYXJ0eSBhY2NvdW50cyB0byB5b3VyIGFwcGxpY2F0aW9uIiwiaWF0IjoxNzc5MTM5NjcyfQ.HOzYixfHOiKxHdCAq3fLdeg46kDk96kpVBA3qCi-l5Y", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.653Z", + "sponsored": true + }, + { + "id": "b66bd8f4519d", + "title": "Pope Leo calls for being ‘profoundly human’ in the age of AI", + "link": "https://www.theverge.com/news/936945/pope-leo-letter-encyclical-ai-anthropic-labor-warfare", + "source": "The Verge", + "sourceId": "the-verge", + "category": "DevOps", + "publishedAt": "2026-05-25T15:05:07.000Z", + "summary": "Pope Leo XIV warned of the risks of AI and unconstrained technological power in his first major papal document released on Monday. Magnifica Humanitas is the pope's manifesto on \"safeguarding the human person in the time…", + "summaryType": "snippet", + "image": "https://platform.theverge.com/wp-content/uploads/sites/2/2026/05/gettyimages-2278126608.jpg?quality=90&", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.189Z", + "sponsored": true + }, + { + "id": "e71a670f44cb", + "title": "[$] Tier-aware memory-controller limits", + "link": "https://lwn.net/Articles/1073400/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-25T15:03:39.000Z", + "summary": "Joshua Hahn began his session in the memory-management track of the 2026 Linux Storage, Filesystem, Memory Management, and BPF Summit by saying that the memory controller for control groups is intended to provide resourc…", "summaryType": "snippet", "image": null, - "fallbackImage": "/assets/fallbacks/architecture.svg", + "fallbackImage": "/assets/fallbacks/open-source.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.664Z" + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true }, { - "id": "2a15dab226f2", - "title": "[$] Buffered atomic writes, writethrough, and more", - "link": "https://lwn.net/Articles/1072019/", + "id": "1b65cbe31c17", + "title": "Security updates for Monday", + "link": "https://lwn.net/Articles/1074280/", "source": "LWN.net", "sourceId": "lwn", "category": "Open Source", - "publishedAt": "2026-05-14T14:54:26.000Z", - "summary": "In back-to-back sessions at the start of the 2026 Linux Storage, Filesystem, Memory Management, and BPF Summit (which spilled over into a third slot), the atomic-buffered-writes feature was discussed. In the first sessio…", + "publishedAt": "2026-05-25T14:40:16.000Z", + "summary": "Security updates have been issued by Debian (atril, evince, gnutls28, haproxy, haveged, jq, kernel, krb5, libgcrypt20, nodejs, and thunderbird), Fedora (aw-server-rust, awatcher, bind, bind-dyndb-ldap, chromium, composer…", "summaryType": "snippet", "image": null, "fallbackImage": "/assets/fallbacks/open-source.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "fetchedAt": "2026-05-26T13:50:28.613Z" }, { - "id": "83f1d9bc5541", - "title": "Three stable kernels for Thursday", - "link": "https://lwn.net/Articles/1072849/", + "id": "9499b01cee16", + "title": "[$] Dirk and Linus discuss AI and kernel development", + "link": "https://lwn.net/Articles/1073761/", "source": "LWN.net", "sourceId": "lwn", "category": "Open Source", - "publishedAt": "2026-05-14T14:44:32.000Z", - "summary": "Greg Kroah-Hartman has announced the release of the 7.0.7 , 6.18.30 , and 6.12.88 stable kernels. These kernels do not include a patch for the Fragnesia local-privilege-escalation exploit that came to light on May 1…", + "publishedAt": "2026-05-25T14:20:11.000Z", + "summary": "Linus Torvalds does not enjoy giving talks, but he does consent to the occasional on-stage conversation with Dirk Hohndel at Linux Foundation events. The pair held the 30th of their fire-less fireside chats during a keyn…", "summaryType": "snippet", "image": null, "fallbackImage": "/assets/fallbacks/open-source.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.232Z" + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true }, { - "id": "a03e153ba037", - "title": "Math Jokes in Alice in Wonderland", - "link": "https://storica.club/blog/alice-is-math-jokes/", - "source": "Hacker News", - "sourceId": "hacker-news", + "id": "cc6865412ac3", + "title": "Microsoft Access VBA, (Mon, May 25th)", + "link": "https://isc.sans.edu/diary/rss/33012", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", + "category": "Security", + "publishedAt": "2026-05-25T14:14:58.000Z", + "summary": "Microsoft Access files (Microsoft Office's Database) can contain VBA code. But they are not ole or OOXML files. You can't analyze them with oledump.py : Neither do they contain an embedded OLE file: Microsoft does not pu…", + "summaryType": "snippet", + "image": "https://isc.sans.edu/diaryimages/images/20260525-151257.png", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.182Z", + "sponsored": true + }, + { + "id": "a3dc8f18b436", + "title": "⚡ Weekly Recap: Linux Flaws, Defender 0-Days, Router Botnets, and Supply Chain Chaos", + "link": "https://thehackernews.com/2026/05/weekly-recap-linux-flaws-defender-0.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", "category": "Security", - "publishedAt": "2026-05-14T13:28:16.000Z", - "summary": "Alice in Wonderland is mostly math jokes, with base-numbering systems, non-Euclidean geometry, and abstract identity embedded within the story. Charles Lutwidge Dodgson taught mathematics at Christ Church, Oxford for 26 years before writing \"The Hatter's Tea Party\" in 1865. The joke about Alice falling down a hole is a classic example of base-numbering systems being used to hide mathematical jokes, with the multiplication table serving as an analogy for non-Euclidean geometry and abstract identity.", + "publishedAt": "2026-05-25T14:13:27.000Z", + "summary": "Monday recap. Same mess, new week. A sketchy dev tool got people pwned, old bugs came back from the dead, and security products somehow needed protecting from themselves. A bunch of companies spent the week checking old …", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8B3KNTIZROmtfiYkIEINzg34cq_-I4prGGMjQ8F8oHbOcrNNB0FyCuQq-bb9ChCEtkO5TxGqm_5YRrG7r3IJAkcsX_eC3vmpR1Va-b3NOfEQynjPDmOm2A_uJ15IZk5VPnrmZzOKKjzA6_kjUFNbUkFHKsEk_Ts92DfPZXa3x4r8o8UQkOpMmNUfBwGxx/s1600/rere.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.732Z", + "sponsored": true + }, + { + "id": "fed7013cd417", + "title": "RADV Driver Lands Support For VK_KHR_shader_fma", + "link": "https://www.phoronix.com/news/RADV-VK_KHR_shader_fma", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "DevOps", + "publishedAt": "2026-05-25T14:12:03.000Z", + "summary": "Merged today for what will become Mesa 26.2 next quarter is the Radeon Vulkan driver \"RADV\" now supporting the VK_KHR_shader_fma extension...", + "summaryType": "snippet", + "image": "https://www.phoronix.net/image.php?id=2026&image=radeon_fma", + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true + }, + { + "id": "6847532347b2", + "title": "On C extensions, portability, and alternative compilers", + "link": "https://lemon.rip/w/6-c-extensions-compilers/", + "source": "Lobsters", + "sourceId": "lobsters", + "category": "DevOps", + "publishedAt": "2026-05-25T14:01:30.000Z", + "summary": "Most real-world C code relies heavily on non-standard behaviors and language extensions, which can lead to portability issues when working with different compilers and libraries. A common challenge is trying to support various environments through preprocessor checks and guards, but these attempts are often finicky or broken. The GNU C library's system headers, such as , require preprocessing and parsing, making them a significant obstacle for a C compiler aspiring to be useful. Glibc's implementation of compatibility with non-GCC compilers is also problematic, particularly when it comes to handling packed structs like epoll_event from sys/epoll.h.", "summaryType": "ai", - "image": "https://storica.club/assets/og-image.png", + "image": null, + "fallbackImage": "/assets/fallbacks/devops.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.259Z", + "sponsored": true + }, + { + "id": "705c281946aa", + "title": "How to Make a Scatter Plot in Python With plt.scatter()", + "link": "https://realpython.com/visualizing-python-plt-scatter/", + "source": "Real Python", + "sourceId": "real-python", + "category": "Python", + "publishedAt": "2026-05-25T14:00:00.000Z", + "summary": "Visualizing data is a core part of analysis, and Python’s most popular plotting library is Matplotlib . To make a scatter plot , you reach for plt.scatter() from Matplotlib’s pyplot submodule, conventionally aliased as p…", + "summaryType": "snippet", + "image": "https://files.realpython.com/media/How-to-Use-plt.scatter_Watermarked.a2f94b29f841.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.142Z", + "sponsored": true + }, + { + "id": "4441978ba925", + "title": "TeamPCP Supply Chain Campaign: Activity Through 2026-05-24, (Mon, May 25th)", + "link": "https://isc.sans.edu/diary/rss/33016", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", + "category": "Security", + "publishedAt": "2026-05-25T13:26:06.000Z", + "summary": "TeamPCP now operates across three package ecosystems in parallel, it reached GitHub's own internal codebase, it trojanized an officially Microsoft-published Python SDK, and it appears to have open-sourced its own framewo…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.182Z", + "sponsored": true + }, + { + "id": "b623e6114899", + "title": "TeamPCP Supply Chain Campaign: Activity Through 2026-05-24, (Mon, May 25th)", + "link": "https://isc.sans.edu/diary/rss/33014", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", + "category": "Security", + "publishedAt": "2026-05-25T13:25:47.000Z", + "summary": "TeamPCP now operates across three package ecosystems in parallel, it reached GitHub's own internal codebase, it trojanized an officially Microsoft-published Python SDK, and it appears to have open-sourced its own framewo…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.183Z", + "sponsored": true + }, + { + "id": "9180696aa478", + "title": "Netherlands Seizes 800 Servers, Arrests 2 for Aiding Cyberattacks", + "link": "https://krebsonsecurity.com/2026/05/netherlands-seizes-800-servers-arrests-2-for-aiding-cyberattacks/", + "source": "Krebs on Security", + "sourceId": "krebs-security", + "category": "Security", + "publishedAt": "2026-05-25T13:21:49.000Z", + "summary": "Authorities in the Netherlands have arrested the co-owners of two related Internet hosting companies for operating IT infrastructure used by Russia to carry out cyberattacks, influence operations and disinformation campa…", + "summaryType": "snippet", + "image": "https://krebsonsecurity.com/wp-content/uploads/2025/09/zinad-mirhosting.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.365Z" + "fetchedAt": "2026-05-26T13:50:27.718Z", + "sponsored": true }, { - "id": "1893f9fe1993", - "title": "[$] Keeping COWs in context (a.k.a. anonymous reverse mapping)", - "link": "https://lwn.net/Articles/1072378/", - "source": "LWN.net", - "sourceId": "lwn", + "id": "d4322bf61fad", + "title": "Article: The Schema Proliferation Problem in Kafka and Flink Pipelines: How to Solve It", + "link": "https://www.infoq.com/articles/schema-proliferation-problem/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", + "source": "InfoQ Java", + "sourceId": "infoq-java", + "category": "Java", + "publishedAt": "2026-05-25T13:00:00.000Z", + "summary": "Schema proliferation builds slowly and gets expensive fast. One schema per event type feels right until there are ten tables, union queries spanning all of them, and a single field rename touching every schema. Discrimin…", + "summaryType": "snippet", + "image": "https://res.infoq.com/articles/schema-proliferation-problem/en/headerimage/schema-proliferation-problem-header-1779270222602.jpg", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.066Z", + "sponsored": true + }, + { + "id": "b0eb3bacfb32", + "title": "Article: The Schema Proliferation Problem in Kafka and Flink Pipelines: How to Solve It", + "link": "https://www.infoq.com/articles/schema-proliferation-problem/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "General", + "publishedAt": "2026-05-25T13:00:00.000Z", + "summary": "Schema proliferation builds slowly and gets expensive fast. One schema per event type feels right until there are ten tables, union queries spanning all of them, and a single field rename touching every schema. Discrimin…", + "summaryType": "snippet", + "image": "https://res.infoq.com/articles/schema-proliferation-problem/en/headerimage/schema-proliferation-problem-header-1779270222602.jpg", + "fallbackImage": "/assets/fallbacks/general.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true + }, + { + "id": "b5b7537d00dc", + "title": "FBI warns of Kali365 phishing service targeting Microsoft 365 accounts", + "link": "https://www.bleepingcomputer.com/news/security/fbi-warns-of-kali365-phishing-service-targeting-microsoft-365-accounts/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-25T12:45:54.000Z", + "summary": "The FBI is warning about the Kali365 phishing-as-a-service platform (PhaaS) that is used to hijack Microsoft 365 accounts by abusing OAuth device code authentication to steal session tokens and bypass multi-factor authen…", + "summaryType": "snippet", + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/15/MS365.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "7c51921d36a1", + "title": "Ghost CMS CVE-2026-26980 Exploited to Hijack 700+ Sites for ClickFix Attacks", + "link": "https://thehackernews.com/2026/05/ghost-cms-cve-2026-26980-exploited-to.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-25T12:02:46.000Z", + "summary": "Threat actors are exploiting a recently disclosed critical security flaw in Ghost CMS to inject malicious JavaScript code with an aim to fuel ClickFix attacks. According to QiAnXin XLab, the activity involves the exploit…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5bYCvN_MmCGXVH5raR8wqJQv52CST3mK7UBfLXVnqRRL_rHkhJpSOBjdPyR5oXmPsSB-X3-Sib6-eVToqi4UXB218ESR2uFdczESGAM5i4ZkxQyE7AkQteCFCasknPz262ceUOFccS3xcUbaQdvUGoRw0kJE7QQMSbeP2OAQVfY9lFYTj7ZhzCL_GdkuM/s1600/check-cf.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.732Z", + "sponsored": true + }, + { + "id": "caa1b7334174", + "title": "The Alert Firehose Finally Meets Its Match", + "link": "https://thehackernews.com/2026/05/the-alert-firehose-finally-meets-its.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-25T11:30:00.000Z", + "summary": "Ask a cybersecurity pro about Network Detection and Response (NDR) and you might still hear \"Noisy,\" \"Too much data.\" But ask the teams running NDR that includes agentic AI capabilities and you'll hear they're actually u…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhULc1VvUr1LQ1qZPTiw_sPmN3JbNIk0OSlxHRT0MFdY2kM5Z7psdZtrctiSOybvu8i1sCwcMeSUtXxHb0xBkQ2lCUt2l_kKmhp93ydvN4-E-qObRkmiFK2s-jOPqipBTGfBnv4o-d9nLuPIL2JMGO6FhCFsFV2NkBlARzWW9ScqccGvAVHzM9o-6MDwn4/s1600/corelight-main.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.732Z", + "sponsored": true + }, + { + "id": "8844744be4e7", + "title": "Podcast: Chasing Efficient Java Development: From 1BRC to Developing Hardwood AI Natively", + "link": "https://www.infoq.com/podcasts/chasing-efficient-java-development/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", + "source": "InfoQ Java", + "sourceId": "infoq-java", + "category": "Java", + "publishedAt": "2026-05-25T11:00:00.000Z", + "summary": "Gunnar Morling, technologist at Confluent and Java Champion, shares his experiences with building high-performance applications in Java, especially in the data space. He shares insights from experiments with building dur…", + "summaryType": "snippet", + "image": "https://res.infoq.com/podcasts/chasing-efficient-java-development/en/card_header_image/twitter-card-1779452336606.jpg", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.066Z", + "sponsored": true + }, + { + "id": "aeb179fb3ea2", + "title": "Podcast: Chasing Efficient Java Development: From 1BRC to Developing Hardwood AI Natively", + "link": "https://www.infoq.com/podcasts/chasing-efficient-java-development/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "AI", + "publishedAt": "2026-05-25T11:00:00.000Z", + "summary": "Gunnar Morling, technologist at Confluent and Java Champion, shares his experiences with building high-performance applications in Java, especially in the data space. He shares insights from experiments with building dur…", + "summaryType": "snippet", + "image": "https://res.infoq.com/podcasts/chasing-efficient-java-development/en/card_header_image/twitter-card-1779452336606.jpg", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true + }, + { + "id": "e1f95dbbd126", + "title": "Intel Introducing USB4STREAM Protocol For Linux - Opening Up Some Nifty Uses For USB4", + "link": "https://www.phoronix.com/news/Intel-Linux-USB4STREAM", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "Security", + "publishedAt": "2026-05-25T10:46:21.000Z", + "summary": "An exciting Intel innovation expected to be added for the upcoming Linux 7.2 kernel is introducing the new USB4STREAM protocol for USB4/Thunderbolt as a \"super simple\" way to \"basically just transfer raw packets from one…", + "summaryType": "snippet", + "image": "https://www.phoronix.net/image.php?id=2026&image=thunderbolt_stream", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true + }, + { + "id": "331bf604bd25", + "title": "Redis 8.8 Released With New Array Data Structure, More Performance Optimizations", + "link": "https://www.phoronix.com/news/Redis-8.8-Released", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "Open Source", + "publishedAt": "2026-05-25T10:05:44.000Z", + "summary": "Redis 8.8 reached GA today for the Redis open-source project providing a high performance, in-memory data store...", + "summaryType": "snippet", + "image": "https://www.phoronix.net/image.php?id=2022&image=redis", + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true + }, + { + "id": "9ed2ac2290b2", + "title": "AI with Model-Based Design: Virtual Sensor Modeling", + "link": "https://content.knowledgehub.wiley.com/ai-with-model-based-design-virtual-sensor-modeling/", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "AI", + "publishedAt": "2026-05-25T10:00:01.000Z", + "summary": "This webinar presents a workflow offering end-to-end solutions for designing, training, validating and verifying, compressing, and deploying AI-based virtual sensor models to embedded processors within a single environme…", + "summaryType": "snippet", + "image": "https://assets.rbl.ms/26851519/origin.png", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.093Z", + "sponsored": true + }, + { + "id": "8b2b80c0b9b9", + "title": "Lazarus Deploys RemotePE Memory-Only RAT Against Financial and Crypto Firms", + "link": "https://thehackernews.com/2026/05/lazarus-deploys-remotepe-memory-only.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-25T09:32:54.000Z", + "summary": "Cybersecurity researchers have shed light on a cross-platform malware called RemotePE that has been put to use by the North Korea-linked Lazarus Group in attacks targeting financial and cryptocurrency organizations. Remo…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinuOeS1qVC0UHhPnJ0jlSdfScsZDRtkI6VU366iePjKdNTqLiqHcqjRcGL-sNBdUkShUH71YDDVwavzXM1cIu2UU9zE8VYgbJYsRUQeWRZAO75JC2vQHYs4saWOM3rQZKFPqNvlL8ASBocRiZXdO1jLgqLuCCeLHX0bAA1EQEhiBAq3i3Os97qHt_xF5ub/s1600/crypto-firms.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.733Z", + "sponsored": true + }, + { + "id": "a2ce4209be60", + "title": "NodeJS Proposes Built-In Virtual File System, Sparking Debate Over AI-Generated Contributions", + "link": "https://www.infoq.com/news/2026/05/node-js-file-system/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global", + "source": "InfoQ", + "sourceId": "infoq", + "category": "AI", + "publishedAt": "2026-05-25T06:24:00.000Z", + "summary": "Matteo Collina has proposed a Virtual File System (VFS) for Node.js core through the node:vfs module. The proposal includes about 19,000 lines of code and addresses common workflow challenges. While it has community supp…", + "summaryType": "snippet", + "image": "https://res.infoq.com/news/2026/05/node-js-file-system/en/headerimage/generatedHeaderImage-1779384466904.jpg", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.832Z", + "sponsored": true + }, + { + "id": "758e6e49f201", + "title": "TrapDoor Supply Chain Attack Spreads Credential-Stealing Malware via npm, PyPI, and CratesIO", + "link": "https://thehackernews.com/2026/05/trapdoor-supply-chain-attack-spreads.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-25T05:59:13.000Z", + "summary": "A new coordinated cross-ecosystem software supply chain attack campaign has targeted npm, PyPI, and Crates.io to distribute credential-stealing malware. The campaign, codenamed TrapDoor, spans more than 34 malicious pack…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOb58wXNPgRDazHcSLTObawPnMVsCDUEAoFclGVn3CC8qe6Pr_0-Gce-SxCO7FJ5HzU23WE_soU5iTc0zvLL0zzbXPcO8MqVgHIIAKXJo4ExcujDPV9yiIdN1X1jV63ACBN66_ktTeQ0FVmYsCTJC3tpyxpUBrvxLh_xqF-mKOZy8uaqz3QKyf6XpJHC4z/s1600/npm-python-rust.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.733Z", + "sponsored": true + }, + { + "id": "1b9641a32c12", + "title": "Samsung memory workers call off strike and may score six-figure bonuses", + "link": "https://www.theregister.com/systems/2026/05/25/samsung-memory-workers-call-off-strike-and-may-score-six-figure-bonuses/5245573", + "source": "The Register", + "sourceId": "the-register", + "category": "Security", + "publishedAt": "2026-05-25T04:14:46.000Z", + "summary": "ASIA IN BRIEF Workers at Samsung Electronics may score bonuses of well over $100,000 after calling off a planned strike. Samsung’s profits recently shot into the stratosphere along with the price of memory and solid-stat…", + "summaryType": "snippet", + "image": "https://image.theregister.com/?imageId=195862&width=800", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.751Z", + "sponsored": true + }, + { + "id": "c7f99a36d659", + "title": "OpenJDK News Roundup: Vector API, Compact Object Headers and G1GC as Default in JDK 27", + "link": "https://www.infoq.com/news/2026/05/jdk-news-roundup-may18-2026/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", + "source": "InfoQ Java", + "sourceId": "infoq-java", + "category": "Java", + "publishedAt": "2026-05-25T02:30:00.000Z", + "summary": "There was a flurry of activity in the OpenJDK ecosystem during the week of May 18th, 2026, highlighting three JEPs elevated from Proposed to Target to Targeted and three JEPs elevated from Candidate to Proposed to Target…", + "summaryType": "snippet", + "image": "https://res.infoq.com/news/2026/05/jdk-news-roundup-may18-2026/en/headerimage/java-istock-image-01-1779658216775.jpg", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.066Z", + "sponsored": true + }, + { + "id": "75bc05a42d7c", + "title": "Security Advisory for Cargo (CVE-2026-5223)", + "link": "https://blog.rust-lang.org/2026/05/25/cve-2026-5223/", + "source": "Rust Blog", + "sourceId": "rust-blog", + "category": "Rust", + "publishedAt": "2026-05-25T00:00:00.000Z", + "summary": "The Rust Security Response Team was notified that Cargo incorrectly handled symlinks inside of crate tarballs downloaded from third-party registries, allowing a malicious crate to override the source code of another crat…", + "summaryType": "snippet", + "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", + "fallbackImage": "/assets/fallbacks/rust.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.680Z", + "sponsored": true + }, + { + "id": "be6b50c0526f", + "title": "Security Advisory for Cargo (CVE-2026-5222)", + "link": "https://blog.rust-lang.org/2026/05/25/cve-2026-5222/", + "source": "Rust Blog", + "sourceId": "rust-blog", + "category": "Rust", + "publishedAt": "2026-05-25T00:00:00.000Z", + "summary": "The Rust Security Response Team was notified that Cargo incorrectly normalized the URLs of third-party registries using the sparse index protocol . If a hosting provider allowed multiple registries to be hosted with arbi…", + "summaryType": "snippet", + "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", + "fallbackImage": "/assets/fallbacks/rust.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.680Z", + "sponsored": true + }, + { + "id": "6d90555b4cbf", + "title": "Kernel prepatch 7.1-rc5", + "link": "https://lwn.net/Articles/1074172/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-24T22:59:14.000Z", + "summary": "The 7.1-rc5 kernel prepatch is out for testing. Quoth Linus: I'm not entirely happy about it - most of this is totally trivial stuff to random drivers, which obviously makes it all less scary, but at the same time I'm re…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true + }, + { + "id": "ff857f34f2b1", + "title": "Linux 7.1-rc5 Released With Fixes Ramping Up From AI Coding Agents", + "link": "https://www.phoronix.com/news/Linux-7.1-rc5-Released", + "source": "Phoronix", + "sourceId": "phoronix", + "category": "AI", + "publishedAt": "2026-05-24T20:51:21.000Z", + "summary": "In the road to releasing Linux 7.1 in June, out today is Linux 7.1-rc5 that continues coming on heavy with fixes...", + "summaryType": "snippet", + "image": "https://www.phoronix.net/image.php?id=2026&image=linux_71_rc5", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.416Z", + "sponsored": true + }, + { + "id": "67a022d91e9d", + "title": "AI agents are quietly generating chaos engineering failures enterprises don’t track yet", + "link": "https://venturebeat.com/orchestration/ai-agents-are-quietly-generating-chaos-engineering-failures-enterprises-dont-track-yet", + "source": "VentureBeat", + "sourceId": "venturebeat", + "category": "AI", + "publishedAt": "2026-05-24T17:00:17.000Z", + "summary": "There is a category of production incident that engineering teams are not tracking yet — because it doesn't fit any existing postmortem template. The agent initiated an action. The action was technically correct giv…", + "summaryType": "snippet", + "image": "https://images.ctfassets.net/jdtwqhzvc2n1/1mLIFSfteOdN7VXTz3uRpL/cd695921058b68548ea5880d6da3bbca/u7277289442_AI_engineers_are_hunched_over_computers_wearing_l_9f2e4220-4bb1-4a1c-8d2e-567e67d7bf36_2.png?w=300&q=30", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.684Z", + "sponsored": true + }, + { + "id": "60ddd622a6fe", + "title": "Wireshark 4.6.6 Released, (Sun, May 24th)", + "link": "https://isc.sans.edu/diary/rss/33010", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", + "category": "Security", + "publishedAt": "2026-05-24T16:38:21.000Z", + "summary": "Wireshark release 4.6.6 fixes 1 vulnerability and 11 bugs. For WIndows, Npcap is updated to version 1.88. Didier Stevens Senior handler blog.DidierStevens.com (c) SANS Internet Storm Center. https://isc.sans.edu Creative…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.183Z", + "sponsored": true + }, + { + "id": "fd84ae4913a0", + "title": "Ghost CMS SQL injection flaw exploited in large-scale ClickFix campaign", + "link": "https://www.bleepingcomputer.com/news/security/ghost-cms-sql-injection-flaw-exploited-in-large-scale-clickfix-campaign/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-24T14:12:32.000Z", + "summary": "A large-scale campaign is exploiting a critical SQL injection vulnerability (CVE-2026-26980) in Ghost CMS to inject malicious JavaScript code that triggers ClickFix attack flows. [...]", + "summaryType": "snippet", + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/22/GhostCMS.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "060cacb15205", + "title": "Laravel Lang packages hijacked to deploy credential-stealing malware", + "link": "https://www.bleepingcomputer.com/news/security/laravel-lang-packages-hijacked-to-deploy-credential-stealing-malware/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-23T20:48:23.000Z", + "summary": "A supply chain attack targeting the Laravel Lang localization packages has exposed developers to a sophisticated credential-stealing malware campaign after attackers abused GitHub version tags to distribute malicious cod…", + "summaryType": "snippet", + "image": "https://www.bleepstatic.com/content/hl-images/2022/10/28/hand-sifting-data.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "a3fd847c33e4", + "title": "npm Adds 2FA-Gated Publishing and Package Install Controls Against Supply Chain Attacks", + "link": "https://thehackernews.com/2026/05/npm-adds-2fa-gated-publishing-and.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-23T16:35:10.000Z", + "summary": "GitHub has rolled out new controls for npm to improve the security of the software supply chain, giving maintainers the ability to explicitly approve a release prior to the packages becoming publicly available for instal…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4rnMZgOYbsYr65UN9AZ3oFzcAwqXSYqgRfjUGpeaQeyP-0OAaqJ9aceXPAiujRKwyGQMa_4ShcSvtOWPb9T3qpqF2LATAw2U4iA7IkU9ok0alDbzN_WYJeaZ1SrF0-vyRrEHGedMEcCeP2otYYqplHmqEBda1R_MePbWgEpt-b-GB_RhxJLDC1pJFV0S0/s1600/npm-security.png", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.733Z", + "sponsored": true + }, + { + "id": "613677eac14d", + "title": "Packagist Supply Chain Attack Infects 8 Packages Using GitHub-Hosted Linux Malware", + "link": "https://thehackernews.com/2026/05/packagist-supply-chain-attack-infects-8.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-23T16:07:51.000Z", + "summary": "A new \"coordinated\" supply chain attack campaign has impacted eight packages on Packagist including malicious code designed to run a Linux binary retrieved from a GitHub Releases URL. \"Although the affected packages were…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ5LyRYJIkEVUSrrBV-_qvrXIKC-B4h0JAxyV4IalzuiEzXi6KeCnZNTUWIIld3oeC5kDx85xppqYm9tG_UB3_Sss9WqH2bYsOVxkB3PhjUk_cQrdyvr6JKsYgn35_sESYYsLC_OuKN9_2korX__RfHwkecLX_BGk7aajnm3sfNqbpV4Pl55B1fpSBpbOA/s1600/packagist.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.733Z", + "sponsored": true + }, + { + "id": "cfaca70a0a98", + "title": "Italy disrupts CINEMAGOAL piracy app that stole streaming auth codes", + "link": "https://www.bleepingcomputer.com/news/legal/italy-disrupts-cinemagoal-piracy-app-that-stole-streaming-auth-codes/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-23T14:23:44.000Z", + "summary": "Italian authorities have dismantled a piracy ecosystem centered around the CINEMAGOAL app that provided access to various streaming platforms, including Netflix, Disney+, and Spotify. [...]", + "summaryType": "snippet", + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/23/CINEMAGOAL.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "e650bdece191", + "title": "A large set of stable kernel updates", + "link": "https://lwn.net/Articles/1074117/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-23T13:55:30.000Z", + "summary": "The 7.0.10 , 6.18.33 , 6.12.91 , 6.6.141 , 6.1.174 , 5.15.208 , and 5.10.257 stable kernel updates have all been released. The first four are huge (the 7.0.10 review version had 1,146 commits) while 6.1.174, 5.15.208, an…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true + }, + { + "id": "72d496497a9b", + "title": "Claude Mythos AI Finds 10,000 High-Severity Flaws in Widely Used Software", + "link": "https://thehackernews.com/2026/05/claude-mythos-ai-finds-10000-high.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-23T11:55:35.000Z", + "summary": "Anthropic on Friday disclosed that Project Glasswing has helped uncover more than 10,000 high- or critical-severity vulnerabilities across some of the most \"systemically\" important software across the world since the cyb…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOPcHXcMRS-BJNvy9aeoCz5H2Mmdh6mO6Kl3kM-l216B-3Wc0Iy5wayPkxJ79KtkHx2CGBwDVPMMeuB9E3jQlPXsa-vKqALoAuTwmEwsbH5sK0xs9xb_XWgk4uaGazYAcswrLxdX0QL74k7e85WXfL03rHFQStuxqpJFsJBcAQLOvNXSuX2YNBAScQStvj/s1600/claude-mythos-flaws.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.733Z", + "sponsored": true + }, + { + "id": "a0b13b56f7a4", + "title": "Laravel-Lang PHP Packages Compromised to Deliver Cross-Platform Credential Stealer", + "link": "https://thehackernews.com/2026/05/laravel-lang-php-packages-compromised.html", + "source": "The Hacker News", + "sourceId": "the-hacker-news", + "category": "Security", + "publishedAt": "2026-05-23T09:51:13.000Z", + "summary": "Cybersecurity researchers have flagged a fresh software supply chain attack campaign that has targeted multiple PHP packages belonging to Laravel-Lang to deliver a comprehensive credential-stealing framework. The affecte…", + "summaryType": "snippet", + "image": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkqwlAgmL-HrE2pSx8xqfY4-AyYZ59wK4x5AWtnCXSHRoBO1wcYTpWw42Fe6VRoAT77e914MSqZW56fKX95IueHTCrk10XNn2Yxh7CU8iCdX5lzFowGeVkolW-4E3po81w9pFMsaLR_r85abtUv3bwvQMa6pP1BAiSj4DrmapTiYr1twfV61tvGdWJRgs8/s1600/lang-hack.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.733Z", + "sponsored": true + }, + { + "id": "f0f3b5b55dcd", + "title": "An Example of Stack String in High Level Language, (Sat, May 23rd)", + "link": "https://isc.sans.edu/diary/rss/33008", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", + "category": "Security", + "publishedAt": "2026-05-23T05:49:17.000Z", + "summary": "This week, I’m attending the SEC670[ 1 ] training (“Red Teaming Tools - Developing Windows Implants, Shellcode, Command and Control”). From my point of view, this training fits perfectly with FOR610 or …", + "summaryType": "snippet", + "image": "https://isc.sans.edu/diaryimages/images/isc-20260523-1.png", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.183Z", + "sponsored": true + }, + { + "id": "3d12bf87acf5", + "title": "Spring AI 1.0.8, 1.1.7, 2.0.0-M7 Available Now", + "link": "https://spring.io/blog/2026/05/23/spring-ai-1-0-8-1-1-7-2-0-0-M7-available-now", + "source": "Spring Blog", + "sourceId": "spring-blog", + "category": "Java", + "publishedAt": "2026-05-23T00:00:00.000Z", + "summary": "On behalf of the Spring AI engineering team and everyone who has contributed, I'm happy to announce that Spring AI 1.0.8 , 1.1.7 , 2.0.0-M7 have been released and are now available from Maven Central. These releases…", + "summaryType": "snippet", + "image": "https://spring.io/img/og-spring.png", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.539Z", + "sponsored": true + }, + { + "id": "fee8279fb870", + "title": "Valid certificates, stolen accounts: how attackers broke npm's last trust signal", + "link": "https://venturebeat.com/security/npm-sigstore-provenance-stolen-identity-audit-grid-2026", + "source": "VentureBeat", + "sourceId": "venturebeat", + "category": "AI", + "publishedAt": "2026-05-22T22:21:34.000Z", + "summary": "On May 19, 633 malicious npm package versions passed Sigstore provenance verification . They were cleared by the system because the attacker had generated valid signing certificates from a compromised maintainer account.…", + "summaryType": "snippet", + "image": "https://images.ctfassets.net/jdtwqhzvc2n1/3fqnou87sWjHiEvKupJyGB/9de43fb83d1bb45c4f9cc6f4d9f8fb3c/hero.png?w=300&q=30", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.684Z", + "sponsored": true + }, + { + "id": "59bdc038791b", + "title": "Your AI agents need a terminal, not just a vector database", + "link": "https://venturebeat.com/orchestration/your-ai-agents-need-a-terminal-not-just-a-vector-database", + "source": "VentureBeat", + "sourceId": "venturebeat", + "category": "AI", + "publishedAt": "2026-05-22T21:05:07.000Z", + "summary": "When agentic workflows fail, developers often assume the problem lies in the underlying model’s reasoning abilities. In reality, the limited information provided by the retrieval interface is often the primary limiting f…", + "summaryType": "snippet", + "image": "https://images.ctfassets.net/jdtwqhzvc2n1/51KtnPJMnFTcVI5RCYgMb1/60e17e8e05411ce2080a43004719706a/ai_agent_using_the_terminal.png?w=300&q=30", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.684Z", + "sponsored": true + }, + { + "id": "d2665029d0ba", + "title": "Friday Squid Blogging: Regulating Squid Fishing in the South Pacific", + "link": "https://www.schneier.com/blog/archives/2026/05/friday-squid-blogging-regulating-squid-fishing-in-the-south-pacific.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-22T21:04:42.000Z", + "summary": "The South Pacific Regional Fisheries Management Organization (SPRFMO) needs to regulate squid fishing in the South Pacific. As usual, you can also use this squid post to talk about the security stories in the news that I…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.851Z", + "sponsored": true + }, + { + "id": "77921dcc2c06", + "title": "Texas AG sues Meta over claims that WhatsApp doesn't provide end-to-end encryption", + "link": "https://arstechnica.com/security/2026/05/texas-ag-sues-meta-over-claims-that-whatsapp-doesnt-provide-end-to-end-encryption/", + "source": "Ars Technica", + "sourceId": "ars-technica", + "category": "Security", + "publishedAt": "2026-05-22T18:13:05.000Z", + "summary": "The Texas Attorney General has sued Meta over allegations that the company’s WhatsApp messenger, used by more than 3 billion people, doesn’t provide the end-to-end encryption (E2EE) it has long claimed. Since at least 20…", + "summaryType": "snippet", + "image": "https://cdn.arstechnica.net/wp-content/uploads/2025/10/whatsapp-1024x648.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.372Z", + "sponsored": true + }, + { + "id": "3405d5d5834d", + "title": "Catch up on the Dialogues stage at Google I/O 2026.", + "link": "https://blog.google/innovation-and-ai/technology/ai/io-2026-dialogues-recap/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-22T18:00:00.000Z", + "summary": "A recap of the 2026 I/O Dialogues, where leaders discuss the future of AI, quantum computing, robotics and creativity.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/IO26_Dialogues_3z680sK.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "6b721dcdd3c8", + "title": "Netherlands seizes 800 servers of hosting firm enabling cyberattacks", + "link": "https://www.bleepingcomputer.com/news/security/netherlands-seizes-800-servers-of-hosting-firm-enabling-cyberattacks/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-22T17:24:52.000Z", + "summary": "Financial crime investigators in the Netherlands (FIOD) arrested two men and seized 800 servers linked to a web hosting company that enabled cyberattacks, interference operations, and disinformation campaigns. [...]", + "summaryType": "snippet", + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/22/FIOD.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "fe36fb26c5c6", + "title": "Zero Sum Problems and Apple Sports", + "link": "https://kieranhealy.org/blog/archives/2026/05/21/zero-sum-problems/", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "General", + "publishedAt": "2026-05-22T17:22:32.000Z", + "summary": "Kieran Healy kindly accepted my implicit homework assignment yesterday , and wrote a piece on Apple Sports’s bizarre “zero sum” team stats visualization: It also doesn’t do away with the core problem. That problem is pri…", + "summaryType": "snippet", + "image": "https://kieranhealy.org/blog/archives/2026/05/21/zero-sum-problems/gruber-stats1.png", + "fallbackImage": "/assets/fallbacks/general.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.653Z", + "sponsored": true + }, + { + "id": "3a3864b8f93c", + "title": "Lawmakers Demand Answers as CISA Tries to Contain Data Leak", + "link": "https://krebsonsecurity.com/2026/05/lawmakers-demand-answers-as-cisa-tries-to-contain-data-leak/", + "source": "Krebs on Security", + "sourceId": "krebs-security", + "category": "Security", + "publishedAt": "2026-05-22T16:34:24.000Z", + "summary": "Lawmakers in both houses of Congress are demanding answers from the U.S. Cybersecurity & Infrastructure Security Agency (CISA) after KrebsOnSecurity reported this week that a CISA contractor intentionally published AWS G…", + "summaryType": "snippet", + "image": "https://krebsonsecurity.com/wp-content/uploads/2026/05/HassanCISAletter.png", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.719Z", + "sponsored": true + }, + { + "id": "9a04bf76d2c8", + "title": "GitHub recognized as a Leader in the Gartner® Magic Quadrant™ for Enterprise AI Coding Agents for the third year in a row", + "link": "https://github.blog/ai-and-ml/github-copilot/github-recognized-as-a-leader-in-the-gartner-magic-quadrant-for-enterprise-ai-coding-agents-for-the-third-year-in-a-row/", + "source": "GitHub Blog", + "sourceId": "github-blog", + "category": "Open Source", + "publishedAt": "2026-05-22T16:10:21.000Z", + "summary": "Generating code has never been easier. The bottleneck has shifted to shipping software: reviewing it, securing it, governing it, and deploying it. According to Gartner, “By 2028, asynchronous AI coding agent workfl…", + "summaryType": "snippet", + "image": "https://github.blog/wp-content/uploads/2026/05/Figure1-2.png?resize=926%2C1024", + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.494Z", + "sponsored": true + }, + { + "id": "35c363342bc7", + "title": "Former US execs plead guilty to aiding tech support scammers", + "link": "https://www.bleepingcomputer.com/news/security/former-us-execs-plead-guilty-to-aiding-tech-support-scammers/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-22T15:32:18.000Z", + "summary": "Two former executives of a call-tracking and analytics company pleaded guilty to concealing a years-long tech support fraud scheme that victimized individuals worldwide. [...]", + "summaryType": "snippet", + "image": "https://www.bleepstatic.com/content/hl-images/2026/05/22/Hackers_Dollars.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "d1c164417b6c", + "title": "[$] Custom page-cache policies with BPF", + "link": "https://lwn.net/Articles/1073103/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-22T14:37:10.000Z", + "summary": "The kernel's page cache is charged with maintaining pages (or, more correctly, folios ) containing copies of data from files in the filesystem; its performance has a big effect on the performance of the system as a whole…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true + }, + { + "id": "55b8215c5730", + "title": "CISA Security Leak", + "link": "https://www.schneier.com/blog/archives/2026/05/cisa-security-leak.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-22T13:58:30.000Z", + "summary": "Crazy story : Until this past weekend, a contractor for the Cybersecurity & Infrastructure Security Agency (CISA) maintained a public GitHub repository that exposed credentials to several highly privileged AWS GovCl…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.852Z", + "sponsored": true + }, + { + "id": "66f39d88ddaf", + "title": "[$] Toward better handling of major page faults", + "link": "https://lwn.net/Articles/1073071/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-22T13:50:29.000Z", + "summary": "A major page fault occurs when a process attempts to access a page that is not currently present in RAM; satisfying such faults usually involves I/O , and can thus take some time. When many threads sharing an address spa…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.613Z", + "sponsored": true + }, + { + "id": "703d24efeba6", + "title": "Trend Micro warns of Apex One zero-day exploited in the wild", + "link": "https://www.bleepingcomputer.com/news/security/trend-micro-warns-of-apex-one-zero-day-exploited-in-attacks/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-22T13:39:19.000Z", + "summary": "Japanese cybersecurity software company Trend Micro has addressed an Apex One zero-day vulnerability exploited in attacks targeting Windows systems. [...]", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "4238de1f5298", + "title": "Drupal: Critical SQL injection flaw now targeted in attacks", + "link": "https://www.bleepingcomputer.com/news/security/drupal-critical-sql-injection-flaw-now-targeted-in-attacks/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-22T13:14:40.000Z", + "summary": "Drupal is warning that hackers are attempting to exploit a \"highly critical\" SQL injection vulnerability announced earlier this week. [...]", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "2246fa6d9a49", + "title": "Why Chargebacks are Just One Piece of the Fraud Puzzle", + "link": "https://www.bleepingcomputer.com/news/security/why-chargebacks-are-just-one-piece-of-the-fraud-puzzle/", + "source": "Bleeping Computer", + "sourceId": "bleeping-computer", + "category": "Security", + "publishedAt": "2026-05-22T13:09:18.000Z", + "summary": "Fraud losses don't stop at chargebacks. False declines, account takeovers, and abuse also damage revenue and trust. IPQS breaks down why fraud teams need broader visibility into risk and customer impact. [...]", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.547Z", + "sponsored": true + }, + { + "id": "72a7094280d2", + "title": "Security updates for Friday", + "link": "https://lwn.net/Articles/1074040/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-22T13:07:35.000Z", + "summary": "Security updates have been issued by AlmaLinux (firefox), Debian (chromium, nss, openvpn, and thunderbird), Fedora (cockpit, kernel, and linux-firmware), Oracle (gdk-pixbuf2, kernel, and libsndfile), SUSE (container-suse…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.614Z" + }, + { + "id": "ddd8fd694a19", + "title": "D&B's database of 642 million businesses was built for humans, not AI agents. So they rebuilt it.", + "link": "https://venturebeat.com/data/d-and-bs-database-of-642-million-businesses-was-built-for-humans-not-ai-agents-so-they-rebuilt-it", + "source": "VentureBeat", + "sourceId": "venturebeat", + "category": "AI", + "publishedAt": "2026-05-22T13:00:00.000Z", + "summary": "Dun & Bradstreet has spent over 180 years building a comprehensive commercial database. Its Commercial Graph, covering 642 million businesses and their relationships, corporate hierarchies and risk profiles, was designed…", + "summaryType": "snippet", + "image": "https://images.ctfassets.net/jdtwqhzvc2n1/5h07xIBH1aSM1191hKeXCx/17194ab3abc451c88f3c47324e72c0e6/agentic-context-graph-smk1.jpg?w=300&q=30", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.685Z", + "sponsored": true + }, + { + "id": "2ea7490835f3", + "title": "The Real Python Podcast – Episode #296: Managing Polars Schema Issues & Profiling GitHub Users", + "link": "https://realpython.com/podcasts/rpp/296/", + "source": "Real Python", + "sourceId": "real-python", + "category": "Python", + "publishedAt": "2026-05-22T12:00:00.000Z", + "summary": "How can you avoid schema problems in your Polars data pipeline when adding new columns? How can you quickly examine a GitHub user's profile to decide how much to invest in their contributions? Christopher Trudeau is…", + "summaryType": "snippet", + "image": "https://files.realpython.com/media/E_296_Podcast_Title.70e494643608.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.143Z", + "sponsored": true + }, + { + "id": "52fd5b0bc6e1", + "title": "How do you build a semiconductor company on something that's free?", + "link": "https://www.siliconimist.com/p/the-open-source-silicon-business", + "source": "Hacker News", + "sourceId": "hacker-news", + "category": "General", + "publishedAt": "2026-05-22T11:49:04.000Z", + "summary": "Aesc silicon founder Daniel Schultz is building a semiconductor company on the idea that intellectual property can be created and owned by anyone, not just large corporations. By using open-source principles, Schultz's business model allows for free IP to be shared and customized, generating revenue through support services and specialized expertise. This approach could disrupt traditional IP-based business models and provide an alternative for smaller companies seeking custom chips, potentially driving a new wave of demand for open-source semiconductor solutions.", + "summaryType": "ai", + "image": "https://substackcdn.com/image/fetch/$s_!47kV!,w_1200,h_600,c_fill,f_jpg,q_auto:good,fl_progressive:steep,g_auto/https%3A%2F%2Fsubstack-video.s3.amazonaws.com%2Fvideo_upload%2Fpost%2F198703902%2F5f2b81ce-bcdd-477a-af1f-2943380ca4e7%2Ftranscoded-1779374531.png", + "fallbackImage": "/assets/fallbacks/general.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.487Z", + "sponsored": true + }, + { + "id": "03003c53a60c", + "title": "A hacker group is poisoning open source code at an unprecedented scale", + "link": "https://arstechnica.com/information-technology/2026/05/a-hacker-group-is-poisoning-open-source-code-at-an-unprecedented-scale/", + "source": "Ars Technica", + "sourceId": "ars-technica", + "category": "Security", + "publishedAt": "2026-05-22T10:30:14.000Z", + "summary": "A so-called software supply chain attack , in which hackers corrupt a legitimate piece of software to hide their own malicious code, was once a relatively rare event but one that haunted the cybersecurity world with its …", + "summaryType": "snippet", + "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/GettyImages-2270725355-1152x648.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.372Z", + "sponsored": true + }, + { + "id": "6099a63727b3", + "title": "Cross-Platform NPM Stealer, (Fri, May 22nd)", + "link": "https://isc.sans.edu/diary/rss/33006", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", + "category": "Security", + "publishedAt": "2026-05-22T06:14:42.000Z", + "summary": "I found a Node.js stealer that looked pretty well obfuscated. The file was not running out-of-the-box because it was uploaded on VT as “extracted-decoded.js” (and reformated). The SHA256 is 049300aa5dd774d6c9…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.184Z" + }, + { + "id": "1bbe0330c67c", + "title": "ISC Stormcast For Friday, May 22nd, 2026 https://isc.sans.edu/podcastdetail/9942, (Fri, May 22nd)", + "link": "https://isc.sans.edu/diary/rss/33004", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", + "category": "Security", + "publishedAt": "2026-05-22T02:00:02.000Z", + "summary": "(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.184Z" + }, + { + "id": "c241e09153f6", + "title": "Apple Seeks Supreme Court Review of Contempt Finding and Injunction Scope in Epic Games Case", + "link": "https://9to5mac.com/2026/05/21/apple-seeks-supreme-court-review-of-contempt-finding-and-injunction-scope-in-epic-games-case/", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "Security", + "publishedAt": "2026-05-22T01:02:21.000Z", + "summary": "Marcus Mendes, reporting for 9to5Mac: Apple today filed a request with the Supreme Court in an attempt to reverse key lower court rulings over the App Store injunction in its long-running legal battle with Epic Games. [.…", + "summaryType": "snippet", + "image": "https://i0.wp.com/9to5mac.com/wp-content/uploads/sites/6/2024/03/epic-app-store.jpg?resize=1200%2C628&quality=82&strip=all&ssl=1", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.654Z" + }, + { + "id": "25feafa9d974", + "title": "pkg.go.dev gets an official API", + "link": "https://golangweekly.com/issues/602", + "source": "Go Weekly", + "sourceId": "go-weekly", + "category": "Go", + "publishedAt": "2026-05-22T00:00:00.000Z", + "summary": "#​602 — May 22, 2026 Read the Web Version Go Weekly ▶ What's New in Go: The Google I/O 2026 Edition — Two Go team members give a 15 minute high-level overview of the state of Go from Google’s perspective. Topics include …", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/go.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.073Z", + "sponsored": true + }, + { + "id": "0fb86dd89e4e", + "title": "Apple TV to Broadcast Entire MLS Match Shot Using iPhones", + "link": "https://www.apple.com/newsroom/2026/05/apple-tv-to-air-first-major-live-pro-sports-event-shot-on-iphone-17-pro/", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "Security", + "publishedAt": "2026-05-21T23:59:53.000Z", + "summary": "Speaking of Apple and sports, here’s another one from Apple Newsroom: This Saturday, May 23, Apple TV will present a special live Major League Soccer match captured exclusively on iPhone 17 Pro — marking the first time i…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.654Z" + }, + { + "id": "ddc482358394", + "title": "Alibaba's proprietary Qwen3.7-Max can run for 35 hours autonomously and supports external harnesses like Anthropic's Claude Code", + "link": "https://venturebeat.com/technology/alibabas-proprietary-qwen3-7-max-can-run-for-35-hours-autonomously-and-supports-external-harnesses-like-anthropics-claude-code", + "source": "VentureBeat", + "sourceId": "venturebeat", + "category": "AI", + "publishedAt": "2026-05-21T23:53:17.000Z", + "summary": "The AI industry has fully entered the \"agent era,\" a paradigm where AI models do far more than generate text — they now actively plan, execute, and course-correct complex tasks over days rather than seconds. Thus, it…", + "summaryType": "snippet", + "image": "https://images.ctfassets.net/jdtwqhzvc2n1/5v1B7d4B5GNDUmmXGHFf00/e015ad0dd38cd0b9e9ff9e195d91bd13/ChatGPT_Image_May_21__2026__07_29_11_PM.png?w=300&q=30", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.685Z" + }, + { + "id": "b18b50288d0b", + "title": "Alleged Kimwolf Botmaster ‘Dort’ Arrested, Charged in U.S. and Canada", + "link": "https://krebsonsecurity.com/2026/05/alleged-kimwolf-botmaster-dort-arrested-charged-in-u-s-and-canada/", + "source": "Krebs on Security", + "sourceId": "krebs-security", + "category": "Security", + "publishedAt": "2026-05-21T21:50:25.000Z", + "summary": "Canadian authorities on Wednesday arrested a 23-year-old Ottawa man on suspicion of building and operating Kimwolf , a fast spreading Internet-of-Things botnet that enslaved millions of devices for use in a series of mas…", + "summaryType": "snippet", + "image": "https://krebsonsecurity.com/wp-content/uploads/2026/05/dortswat-doj.png", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.719Z" + }, + { + "id": "35d65a0fa5b2", + "title": "Vulnerabilities in various GTK-based PDF readers", + "link": "https://lwn.net/Articles/1073944/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-21T21:05:20.000Z", + "summary": "Michael Catanzaro has disclosed a command-injection vulnerability affecting a number of GTK-based PDF readers; exploits included: They contain a script for building malicious polyglot PDFs that are simultaneously both va…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.614Z", + "sponsored": true + }, + { + "id": "10ba781153d6", + "title": "Apple Sports Expands to More Than 90 New Countries on Cusp of World Cup", + "link": "https://www.apple.com/newsroom/2026/05/apple-sports-expands-to-more-than-90-new-countries-and-regions/", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "Security", + "publishedAt": "2026-05-21T20:12:35.000Z", + "summary": "Apple Newsroom: Apple Sports — the free app for iPhone that gives fans access to real-time scores, stats, and more — is now available to download on the App Store in more than 170 countries and regions around the world, …", + "summaryType": "snippet", + "image": "https://www.apple.com/newsroom/images/2026/05/apple-sports-expands-to-more-than-90-new-countries-and-regions/tile/Apple-Sports-updates-lp.jpg.og.jpg?202605211515", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.654Z" + }, + { + "id": "fb96f575a4f5", + "title": "A 0.12% parameter add-on gives AI agents the working memory RAG can't", + "link": "https://venturebeat.com/orchestration/a-0-12-parameter-add-on-gives-ai-agents-the-working-memory-rag-cant", + "source": "VentureBeat", + "sourceId": "venturebeat", + "category": "AI", + "publishedAt": "2026-05-21T19:00:22.000Z", + "summary": "AI agents forget. Every time a coding assistant loses track of a debugging thread, or a data analysis agent re-ingests the same context it already processed, the team pays in latency, token costs, and brittle workflows. …", + "summaryType": "snippet", + "image": "https://images.ctfassets.net/jdtwqhzvc2n1/18dBj7HcLZwtY4fwX3tJuY/5d3ca8dcb2012b957d9305ef38f8497f/lightweight_llm_memory_adapter.jpg?w=300&q=30", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.685Z" + }, + { + "id": "9f785ce2bc00", + "title": "Beyond the engine: 10 open source projects shaping how games actually get made", + "link": "https://github.blog/open-source/gaming/beyond-the-engine-10-open-source-projects-shaping-how-games-actually-get-made/", + "source": "GitHub Blog", + "sourceId": "github-blog", + "category": "Open Source", + "publishedAt": "2026-05-21T18:00:00.000Z", + "summary": "Pick any game engine, and you are maybe a third of the way to having the tools you need to ship a game. But there are also elements that live outside the engine: the asset pipelines your artists depend on, the level edit…", + "summaryType": "snippet", + "image": "https://github.blog/wp-content/uploads/2026/05/blockbench.png", + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.495Z" + }, + { + "id": "0e0fde3de70b", + "title": "Laurie Anderson Is Quoting Me", + "link": "https://www.schneier.com/blog/archives/2026/05/laurie-anderson-is-quoting-me.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-21T17:24:30.000Z", + "summary": "Not by name, but Laurie Anderson quotes me in one of the tracks of her new album: My favorite quote is from a cryptologist who said “If you think technology will solve your problems, you don’t understand tech…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.852Z" + }, + { + "id": "409db2dee247", + "title": "Announcing Claude Compliance API support with Cloudflare CASB", + "link": "https://blog.cloudflare.com/casb-anthropic-integration/", + "source": "Cloudflare Blog", + "sourceId": "cloudflare-blog", + "category": "Architecture", + "publishedAt": "2026-05-21T17:00:00.000Z", + "summary": "Today, we are extending Cloudflare’s cloud access security broker (CASB) to support the Claude Compliance API . Security and compliance teams can now monitor Claude usage directly in the Cloudflare dashboard. No endpoint…", + "summaryType": "snippet", + "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5MViMEGtj28ko2psjCNDPL/c5103829f690bd5509357593d55445d8/BLOG-3313_OG.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.527Z" + }, + { + "id": "1a1e6428a8a9", + "title": "Google I/O Keynote in 54 Seconds", + "link": "https://x.com/ArtemR/status/2056961743142957143", + "source": "Daring Fireball", + "sourceId": "daring-fireball", + "category": "Security", + "publishedAt": "2026-05-21T16:42:01.000Z", + "summary": "Tight edit but covers the whole thing. ( XCancel link ; Threads link .) ★", + "summaryType": "snippet", + "image": "https://jf.x.com/images/media-preview/2056961743142957143", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.654Z" + }, + { + "id": "b75229644773", + "title": "macOS Kernel Memory Corruption Exploit", + "link": "https://www.schneier.com/blog/archives/2026/05/macos-kernel-memory-corruption-exploit.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-21T16:03:37.000Z", + "summary": "A group used Anthropic’s Mythos AI model to help find a kernel memory corruption vulnerability and exploit on Apple’s M5. News article .", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.852Z", + "sponsored": true + }, + { + "id": "db20edc80e7f", + "title": "Building GitHub’s next chapter in accessibility", + "link": "https://github.blog/open-source/building-githubs-next-chapter-in-accessibility/", + "source": "GitHub Blog", + "sourceId": "github-blog", + "category": "Open Source", + "publishedAt": "2026-05-21T16:00:00.000Z", + "summary": "Five years ago, we stood up GitHub’s accessibility program. What began as a small team addressing accessibility debt has grown into a company-wide discipline, woven into our engineering fundamentals, our design sys…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.495Z" + }, + { + "id": "2a697277cfc6", + "title": "Google won't rest until Gemini is everywhere in your home", + "link": "https://www.engadget.com/2174228/google-wont-rest-until-gemini-is-everywhere-in-your-home/", + "source": "Engadget", + "sourceId": "engadget", + "category": "AI", + "publishedAt": "2026-05-21T16:00:00.000Z", + "summary": "The company is making it easier for manufacturers to make more Gemini-powered smart devices.", + "summaryType": "snippet", + "image": "https://www.engadget.com/img/gallery/google-wont-rest-until-gemini-is-everywhere-in-your-home/l-intro-1778889836.jpg", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.515Z" + }, + { + "id": "ddc54f7ca608", + "title": "[$] BPF support in GCC 16 and beyond", + "link": "https://lwn.net/Articles/1071973/", + "source": "LWN.net", + "sourceId": "lwn", + "category": "Open Source", + "publishedAt": "2026-05-21T14:52:28.000Z", + "summary": "José Marchesi and the GCC-BPF developers opened the BPF track at the 2026 Linux Storage, Filesystem, Memory-management, and BPF Summit with a 90-minute summary of what has changed for GCC's BPF support in the past year. …", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.614Z" + }, + { + "id": "54477801133f", + "title": "How Ecotypes Harbor the Genetic Memory of a Species’ Past", + "link": "https://www.quantamagazine.org/how-ecotypes-harbor-the-genetic-memory-of-a-species-past-20260521/", + "source": "Quanta Magazine", + "sourceId": "quanta-magazine", + "category": "AI", + "publishedAt": "2026-05-21T14:48:20.000Z", + "summary": "When she was a graduate student in the 1970s, the evolutionary biologist Kerstin Johannesson regularly walked the shores of a Swedish archipelago, scanning the ground for pebbles that moved: marine snails. Her adviser, a…", + "summaryType": "snippet", + "image": "https://www.quantamagazine.org/wp-content/uploads/2026/05/Genomic-Ecotypes-cr-Aaron-Comeault-Default.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.678Z" + }, + { + "id": "845b87f97ff0", + "title": "US government takes $2 billion equity stake in nine quantum computing firms", + "link": "https://arstechnica.com/gadgets/2026/05/us-government-takes-2-billion-equity-stake-in-nine-quantum-computing-firms/", + "source": "Ars Technica", + "sourceId": "ars-technica", + "category": "Security", + "publishedAt": "2026-05-21T13:48:38.000Z", + "summary": "The US government will take equity stakes worth a total of $2 billion in a slew of quantum computing companies, including a startup backed by a firm with links to the Trump family and one taken public by a Pentagon offic…", + "summaryType": "snippet", + "image": "https://cdn.arstechnica.net/wp-content/uploads/2017/03/Screen-Shot-2017-03-31-at-1.37.22-PM.png", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.373Z" + }, + { + "id": "8e6bd60066c2", + "title": "Selective HTTP Proxying in Linux, (Thu, May 21st)", + "link": "https://isc.sans.edu/diary/rss/33002", + "source": "SANS Internet Storm", + "sourceId": "sans-isc", + "category": "Security", + "publishedAt": "2026-05-21T13:34:09.000Z", + "summary": "Recently, Rob wrote about a tool, Proxifier , that can intercept requests from specific processes. Proxifier is available for Windows, macOS, and Android. But I have not seen a generic Linux option yet. The advantage of …", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.184Z" + }, + { + "id": "dc989773f95e", + "title": "Are you really going to talk to Gemini like that?", + "link": "https://www.engadget.com/2178197/google-io-2026-opinion-are-you-really-going-to-talk-to-gemini-like-that/", + "source": "Engadget", + "sourceId": "engadget", + "category": "AI", + "publishedAt": "2026-05-21T13:00:00.000Z", + "summary": "Google's new AI features capitalize on the popularity of voice dictation, and a desire to leave the thinking to AI.", + "summaryType": "snippet", + "image": "https://www.engadget.com/img/gallery/are-you-really-going-to-talk-to-gemini-like-that/l-intro-1779311408.jpg", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.515Z", + "sponsored": true + }, + { + "id": "c47993f9a3be", + "title": "Bliki: Vibe Coding", + "link": "https://martinfowler.com/bliki/VibeCoding.html", + "source": "Martin Fowler", + "sourceId": "martin-fowler", + "category": "Architecture", + "publishedAt": "2026-05-21T11:49:00.000Z", + "summary": "Vibe coding is building a software application by prompting an LLM, telling it what to build, trying it out, prompting for changes - but without looking at any of the code that the LLM generates. This technique can be us…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.014Z" + }, + { + "id": "57f068263d16", + "title": "How Platform Engineering Using Golden Bricks Can Enable Fast and Smooth Delivery", + "link": "https://www.infoq.com/news/2026/05/platform-golden-bricks/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Architecture", + "source": "InfoQ Architecture", + "sourceId": "infoq-arch", + "category": "Architecture", + "publishedAt": "2026-05-21T11:35:00.000Z", + "summary": "Platform engineering should have a product focus, as developers are customers; they must provide composable, self-service capabilities, golden bricks rather than rigid golden paths, so teams can move quickly while mainta…", + "summaryType": "snippet", + "image": "https://res.infoq.com/news/2026/05/platform-golden-bricks/en/headerimage/platform-golden-bricks-header-1779109898033.jpg", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.361Z" + }, + { + "id": "94f53bf678ba", + "title": "The Future of Physical AI Isn’t Smarter Robots, It’s Smarter Interfaces", + "link": "https://spectrum.ieee.org/wetour-robotics-physical-ai-human-interfaces", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "AI", + "publishedAt": "2026-05-21T10:00:02.000Z", + "summary": "This sponsored article is brought to you by Wetour Robotics . A field technician on a wind turbine, harness clipped, both hands on a wrench, needs to send a command to the diagnostic device hanging at her belt. A logisti…", + "summaryType": "snippet", + "image": "https://spectrum.ieee.org/media-library/hands-controlling-speaker-light-bulb-and-drone-against-minimalist-white-walls.jpg?id=66718902&width=1245&height=700&coordinates=160%2C0%2C160%2C0", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.094Z", + "sponsored": true + }, + { + "id": "da12bbdfbd14", + "title": "SEM-Guided Low-kV FIB Finishing for Leading-Edge Semiconductor Failure Analysis", + "link": "https://events.bizzabo.com/868497/home", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "AI", + "publishedAt": "2026-05-21T10:00:02.000Z", + "summary": "Discover how the ZEISS Crossbeam 750 FIBSEM sets a new benchmark for precise TEM lamella prep, tomography, and advanced nanofabrication. This delivers better resolution, better SNR, larger usable FOV, and shorter acquisi…", + "summaryType": "snippet", + "image": "https://assets.rbl.ms/66728517/origin.png", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.094Z" + }, + { + "id": "8d09d65ff85d", + "title": "Technology usually creates jobs for young, skilled workers. Will AI do the same?", + "link": "https://news.mit.edu/2026/technology-creates-jobs-young-skilled-workers-ai-0521", + "source": "MIT AI News", + "sourceId": "mit-ai", + "category": "AI", + "publishedAt": "2026-05-21T04:00:00.000Z", + "summary": "At any given time, technology does two things to employment: It replaces traditional jobs, and it creates new lines of work. Machines replace farmers, but enable, say, aeronautical engineers to exist. So, if tech creates…", + "summaryType": "snippet", + "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202605/MIT-NewWork-01-press.jpg?itok=byMeP8Rb", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.971Z" + }, + { + "id": "92a2b50a5879", + "title": "A Bootiful Podcast: Hadi Hariri, Jetbrains legend", + "link": "https://spring.io/blog/2026/05/21/a-bootiful-podcast-hadi-hariri", + "source": "Spring Blog", + "sourceId": "spring-blog", + "category": "Java", + "publishedAt": "2026-05-21T00:00:00.000Z", + "summary": "Hi Spring and Kotlin fans! In this installment, I have the privilege of talking to my old friend and JetBrains legend Hadi Hariri, recorded live from Kotlin Conf 2026 in Munich, Germany! #kotlin #jvm #java #springboot", + "summaryType": "snippet", + "image": "https://spring.io/img/og-spring.png", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.539Z" + }, + { + "id": "ca05a4f1518a", + "title": "Introducing the pkg.go.dev API", + "link": "https://go.dev/blog/pkgsite-api", + "source": "Go Blog", + "sourceId": "go-blog", + "category": "Go", + "publishedAt": "2026-05-21T00:00:00.000Z", + "summary": " The Go Blog Introducing the pkg.go.dev API Ethan Lee, Hana Kim, and Jonathan Amsterdam 21 May 2026 Since its inception, p…", + "summaryType": "snippet", + "image": "https://go.dev/doc/gopher/runningsquare.jpg", + "fallbackImage": "/assets/fallbacks/go.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.421Z" + }, + { + "id": "78dac2948a68", + "title": "Should we rewrite Node.js in Rust?", + "link": "https://nodeweekly.com/issues/625", + "source": "Node Weekly", + "sourceId": "node-weekly", + "category": "JavaScript", + "publishedAt": "2026-05-21T00:00:00.000Z", + "summary": "#​625 — May 21, 2026 Read on the Web A Fresh Chapter and New Look for Express — For a while, Node’s long-standing web framework, Express.js , was looking a bit stale and projects like Fastify were beginning to carry the …", + "summaryType": "snippet", + "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/fsvwj9zvfpmdmnocruui.jpg", + "fallbackImage": "/assets/fallbacks/javascript.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:30.020Z" + }, + { + "id": "d159f99481b6", + "title": "Investigating unauthorized access to GitHub-owned repositories", + "link": "https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/", + "source": "GitHub Blog", + "sourceId": "github-blog", + "category": "Open Source", + "publishedAt": "2026-05-20T21:07:38.000Z", + "summary": "On Monday May 18, we detected and contained a compromise of an employee device involving a poisoned VS Code extension published by a third party. We removed the malicious extension version, isolated the endpoint, and beg…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.495Z" + }, + { + "id": "ed67995bed7d", + "title": "We’re announcing new community investments in Missouri.", + "link": "https://blog.google/innovation-and-ai/infrastructure-and-cloud/global-network/missouri-programs/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-20T20:40:00.000Z", + "summary": "We’re helping build the state’s next-generation workforce and investing in energy programs.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/MissouriSocial.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z" + }, + { + "id": "02632956ebdc", + "title": "100 things we announced at I/O 2026", + "link": "https://blog.google/innovation-and-ai/technology/ai/google-io-2026-all-our-announcements/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-20T19:30:00.000Z", + "summary": "This year at Google I/O 2026, we announced Gemini Omni, Google Antigravity, Universal Cart and so much more. Here are the highlights.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/100_things_Social.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "3f4ab3b303e5", + "title": "Google publishes exploit code threatening millions of Chromium users", + "link": "https://arstechnica.com/security/2026/05/google-publishes-exploit-code-threatening-millions-of-chromium-users/", + "source": "Ars Technica", + "sourceId": "ars-technica", + "category": "Security", + "publishedAt": "2026-05-20T19:10:36.000Z", + "summary": "Google on Wednesday published exploit code for an unfixed vulnerability in its Chromium browser codebase that threatens millions of people using Chrome, Microsoft Edge, and virtually all other Chromium-based browsers. Th…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.373Z", + "sponsored": true + }, + { + "id": "d5b4c10a55b8", + "title": "Cyber resilience on AWS: A reference approach for recovery from ransomware and destructive events", + "link": "https://aws.amazon.com/blogs/architecture/cyber-resilience-on-aws-a-reference-approach-for-recovery-from-ransomware-and-destructive-events/", + "source": "AWS Architecture Blog", + "sourceId": "aws-arch-blog", + "category": "Architecture", + "publishedAt": "2026-05-20T17:32:57.000Z", + "summary": "Cyber resilience is the ability to recover workloads to a known-good state after an adversary has affected the environment. Prevention works to keep threat actors out and detection works to find them quickly. Cyber resil…", + "summaryType": "snippet", + "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/05/13/arch-diagram1.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.030Z" + }, + { + "id": "2926a60181cc", + "title": "Airbnb expands into hotel bookings and even grocery deliveries", + "link": "https://www.engadget.com/2177545/airbnb-expands-into-hotel-bookings-groceries/", + "source": "Engadget", + "sourceId": "engadget", + "category": "AI", + "publishedAt": "2026-05-20T17:00:00.000Z", + "summary": "Airbnb is adding thousands of boutique hotels, new services and experiences to its app.", + "summaryType": "snippet", + "image": "https://www.engadget.com/img/gallery/airbnb-expands-into-hotel-bookings-groceries/l-intro-1779288779.jpg", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.516Z" + }, + { + "id": "369fda15542c", + "title": "A new experiment brings better group meetings to Google Beam", + "link": "https://blog.google/innovation-and-ai/models-and-research/google-research/google-beam-group-meetings/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-20T16:45:00.000Z", + "summary": "See and hear your colleagues in true-to-life size and sound, making hybrid meetings feel more inclusive and connected.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Screenshot_2026-05-15_at_4.21.2.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "543c9c6baaf5", + "title": "Cuneflow's e-paper writing tablet uses AI to record and transcribe meetings", + "link": "https://www.engadget.com/2177708/cuneflows-e-paper-writing-tablet-uses-ai-to-record-and-transcribe-meetings/", + "source": "Engadget", + "sourceId": "engadget", + "category": "AI", + "publishedAt": "2026-05-20T15:02:44.000Z", + "summary": "The e-paper slate has a built-in voice recorder to save you having to take meeting minutes.", + "summaryType": "snippet", + "image": "https://www.engadget.com/img/gallery/cuneflows-e-paper-writing-tablet-uses-ai-to-record-and-transcribe-meetings/l-intro-1779289906.jpg", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.516Z", + "sponsored": true + }, + { + "id": "fe94895b97e7", + "title": "Two Researchers Are Rebuilding Mathematics From the Ground Up", + "link": "https://www.quantamagazine.org/two-researchers-are-rebuilding-mathematics-from-the-ground-up-20260520/", + "source": "Quanta Magazine", + "sourceId": "quanta-magazine", + "category": "AI", + "publishedAt": "2026-05-20T14:52:19.000Z", + "summary": "Let’s start with what’s probably the most tired, overused joke in math: A topologist is someone who can’t tell a coffee cup from a doughnut. Both, you see, have a hole in them. Topology is usually descr…", + "summaryType": "snippet", + "image": "https://www.quantamagazine.org/wp-content/uploads/2026/05/TearInTopology-crKristinaArmitage-Default.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.678Z" + }, + { + "id": "18274d8881f1", + "title": "How Alexander Grothendieck Revolutionized 20th-Century Mathematics", + "link": "https://www.quantamagazine.org/how-alexander-grothendieck-revolutionized-20th-century-mathematics-20260520/", + "source": "Quanta Magazine", + "sourceId": "quanta-magazine", + "category": "AI", + "publishedAt": "2026-05-20T14:50:37.000Z", + "summary": "What Albert Einstein was to 20th-century physics, Alexander Grothendieck was to 20th-century mathematics. He is much less well known because math gets technical even more quickly than physics does. But as with …", + "summaryType": "snippet", + "image": "https://www.quantamagazine.org/wp-content/uploads/2026/05/Grothendieck-cr-Mercedes-deBellard-Default.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.678Z" + }, + { + "id": "356f0193fc2e", + "title": "Three more static code analysis sensors", + "link": "https://martinfowler.com/articles/sensors-for-coding-agents.html", + "source": "Martin Fowler", + "sourceId": "martin-fowler", + "category": "Architecture", + "publishedAt": "2026-05-20T14:27:00.000Z", + "summary": "Birgitta Böckeler adds discussion of three more sensors for static code analysis, focusing on checking and enforcing better modularity. Computational sensors for dependency checks were good at enforcing rules, but t…", + "summaryType": "snippet", + "image": "https://martinfowler.com/articles/sensors-for-coding-agents/card.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.014Z", + "sponsored": true + }, + { + "id": "b7c01aed9480", + "title": "On AI Security", + "link": "https://www.schneier.com/blog/archives/2026/05/on-ai-security.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-20T14:21:20.000Z", + "summary": "Good report : Executive Summary: Let’s say you wanted to make sure that your AI is secure. Can you just maximize the security and privacy benchmark and call it a day? Nope, because benchmarks don’t actually w…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.852Z" + }, + { + "id": "dfda645fcd06", + "title": "An hour-long PlayStation State of Play is set for June 2", + "link": "https://www.engadget.com/2177631/an-hour-long-playstation-state-of-play-is-set-for-june-2/", + "source": "Engadget", + "sourceId": "engadget", + "category": "Security", + "publishedAt": "2026-05-20T14:02:04.000Z", + "summary": "State Of Play will feature a fresh peek at Marvel's Wolverine.", + "summaryType": "snippet", + "image": "https://www.engadget.com/img/gallery/an-hour-long-playstation-state-of-play-is-set-for-june-2/l-intro-1779285673.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.516Z" + }, + { + "id": "f99db1983859", + "title": "How to Use the Claude API in Python", + "link": "https://realpython.com/claude-api-python/", + "source": "Real Python", + "sourceId": "real-python", + "category": "Python", + "publishedAt": "2026-05-20T14:00:00.000Z", + "summary": "The fastest way to use the Claude API in Python is to install anthropic , set your API key, and call client.messages.create() . You’ll have a working response in under a minute: Claude is Anthropic’s large language model…", + "summaryType": "snippet", + "image": "https://files.realpython.com/media/How-to-Use-the-Claude-API-in-Python-for-AI-Powered-Applications_Watermarked.2bd1f7ed4e48.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.143Z" + }, + { + "id": "3e9149973c8e", + "title": "Will Robotics Have a ChatGPT Moment?", + "link": "https://spectrum.ieee.org/robotics-ai-breakthrough", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "AI", + "publishedAt": "2026-05-20T11:00:01.000Z", + "summary": "Over the next few decades, billions of autonomous, AI-powered robots will work alongside people in factories, perform tedious tasks in warehouses, care for the elderly, assist in unsafe disaster areas , deliver packages …", + "summaryType": "snippet", + "image": "https://spectrum.ieee.org/media-library/a-collection-of-5-robots-against-colored-backgrounds.jpg?id=66734221&width=1245&height=700&coordinates=0%2C88%2C0%2C88", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.094Z", + "sponsored": true + }, + { + "id": "37335060cc72", + "title": "This Week in Rust 652", + "link": "https://this-week-in-rust.org/blog/2026/05/20/this-week-in-rust-652/", + "source": "This Week in Rust", + "sourceId": "this-week-rust", + "category": "Rust", + "publishedAt": "2026-05-20T04:00:00.000Z", + "summary": "Hello and welcome to another issue of This Week in Rust ! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want somethin…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/rust.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.862Z", + "sponsored": true + }, + { + "id": "aad6b2d9d402", + "title": "Building AI models that understand chemical principles", + "link": "https://news.mit.edu/2026/building-ai-models-with-chemical-principles-connor-coley-0520", + "source": "MIT AI News", + "sourceId": "mit-ai", + "category": "AI", + "publishedAt": "2026-05-20T04:00:00.000Z", + "summary": "Among all of the possible chemical compounds, it’s estimated that between 10 20 and 10 60 may hold potential as small-molecule drugs. Evaluating each of those compounds experimentally would be far too time-consuming for …", + "summaryType": "snippet", + "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202605/MIT-Connor_Coley-01-press.jpg?itok=b7OXN4yk", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.973Z" + }, + { + "id": "58cf7a32b32b", + "title": "Justin Solomon appointed associate dean of engineering education", + "link": "https://news.mit.edu/2026/justin-solomon-appointed-associate-dean-engineering-education-0519", + "source": "MIT AI News", + "sourceId": "mit-ai", + "category": "AI", + "publishedAt": "2026-05-19T21:10:00.000Z", + "summary": "Justin Solomon, associate professor in the MIT Department of Electrical Engineering and Computer Science (EECS), has been appointed associate dean of engineering education in the MIT School of Engineering, effective July…", + "summaryType": "snippet", + "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202605/Justin-Solomon-MIT-A1.jpg?itok=riUyXa1z", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.973Z", + "sponsored": true + }, + { + "id": "2a2d068031f7", + "title": "In stunning display of stupid, secret CISA credentials found in public GitHub repo", + "link": "https://arstechnica.com/information-technology/2026/05/in-stunning-display-of-stupid-secret-cisa-credentials-found-in-public-github-repo/", + "source": "Ars Technica", + "sourceId": "ars-technica", + "category": "Security", + "publishedAt": "2026-05-19T18:27:08.000Z", + "summary": "Security researcher Brian Krebs brings us the news that America's Cybersecurity & Infrastructure Agency (CISA) has had a large store of plaintext passwords, SSH private keys, tokens, and \"other sensitive CISA assets\" exp…", + "summaryType": "snippet", + "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/GettyImages-1303783356-1152x648.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.373Z" + }, + { + "id": "eeffe9e815ad", + "title": "I/O 2026", + "link": "https://blog.google/innovation-and-ai/technology/developers-tools/google-io-2026-collection/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-19T17:45:00.000Z", + "summary": "At Google I/O 2026, we shared how we’re making AI more helpful for everyone. See everything we announced.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/original_images/Collection-Hero.gif", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "8fc9597adf55", + "title": "How AI Mode is changing the way people search in the U.S.", + "link": "https://blog.google/products-and-platforms/products/search/ai-mode-us-insights/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-19T17:45:00.000Z", + "summary": "One year after launch, see how AI Mode’s users are shifting from keywords to natural language queries.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/AI_Mode_US.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "4a09b699f249", + "title": "New ways to create and get things done in Google Workspace", + "link": "https://blog.google/products-and-platforms/products/workspace/workspace-updates/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-19T17:45:00.000Z", + "summary": "Announcing new voice capabilities in Gmail, Docs and Keep, a new design tool called Google Pics and updates to AI Inbox.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/GoogleWorkspace-IO.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "ab50a6a962f1", + "title": "I/O 2026: Welcome to the agentic Gemini era", + "link": "https://blog.google/innovation-and-ai/sundar-pichai-io-2026/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-19T17:45:00.000Z", + "summary": "The latest from Google I/O: See how we’re helping you get more done with Gemini.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/SundarKeynote-hero.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "e4e059ae9ebc", + "title": "Gemini 3.5: frontier intelligence with action", + "link": "https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-5/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-19T17:45:00.000Z", + "summary": "At Google I/O we released Gemini 3.5, our latest series of models combining frontier intelligence with action.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/gemini-3-5__keyword__blog-heade.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "1f203743494c", + "title": "A new era for AI Search", + "link": "https://blog.google/products-and-platforms/products/search/search-io-2026/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-19T17:45:00.000Z", + "summary": "We shared the next step in our journey to bring together the best of a search engine with the best of AI.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Search_AI_and_search_engine_v46.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z" + }, + { + "id": "5af6fbd7f1ce", + "title": "Everything new in our Google AI subscriptions, fresh from I/O 2026", + "link": "https://blog.google/products-and-platforms/products/google-one/google-ai-subscriptions/", + "source": "Google AI Blog", + "sourceId": "google-ai", + "category": "AI", + "publishedAt": "2026-05-19T17:45:00.000Z", + "summary": "Introducing a $100 AI Ultra plan — plus, new features and benefits for Google AI Plus, Pro and Ultra subscribers.", + "summaryType": "snippet", + "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/I_O_26_Header_1_AYohnR4.max-600x600.format-webp.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true + }, + { + "id": "342dde0ed85b", + "title": "How ALS GeoAnalytics LITHOLENS ™ revolutionizes core logging through machine learning with Amazon EKS", + "link": "https://aws.amazon.com/blogs/architecture/how-als-geoanalytics-litholens-revolutionizes-core-logging-through-machine-learning-with-amazon-eks/", + "source": "AWS Architecture Blog", + "sourceId": "aws-arch-blog", + "category": "Architecture", + "publishedAt": "2026-05-19T15:09:36.000Z", + "summary": "In the mining industry, accurate geological analysis is required for improving mine design and development. Traditionally, this involved labor-intensive and time-consuming on-site inspections of drill core samples, often…", + "summaryType": "snippet", + "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/05/08/archblog-1220-image-5-907x630.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.030Z" + }, + { + "id": "5c943858ed35", + "title": "How Synthesia optimizes generative AI video inference on Amazon EC2 G7e instances", + "link": "https://aws.amazon.com/blogs/architecture/how-synthesia-optimizes-generative-ai-video-inference-on-amazon-ec2-g7e-instances/", + "source": "AWS Architecture Blog", + "sourceId": "aws-arch-blog", + "category": "Architecture", + "publishedAt": "2026-05-19T15:06:40.000Z", + "summary": "Synthesia , an enterprise-focused AI video platform, has transformed content creation, helping everyone to create video content without cameras or microphones. To achieve this, Synthesia allows its users to create video …", + "summaryType": "snippet", + "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/05/05/ARCHBLOG-1422-image-1.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.031Z" + }, + { + "id": "7c172d456ad5", + "title": "Agoda Builds Multimodal Content System to Bridge Images and Reviews in Travel Discovery", + "link": "https://www.infoq.com/news/2026/05/agoda-multimodal-content-system/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Architecture", + "source": "InfoQ Architecture", + "sourceId": "infoq-arch", + "category": "Architecture", + "publishedAt": "2026-05-19T14:29:00.000Z", + "summary": "Agoda unifies hotel images and guest reviews using a shared topic taxonomy, enabling multimodal retrieval across 700M+ images and multilingual reviews with offline enrichment and low-latency serving. By Leela Kumili", + "summaryType": "snippet", + "image": "https://res.infoq.com/news/2026/05/agoda-multimodal-content-system/en/headerimage/generatedHeaderImage-1778985448660.jpg", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.361Z" + }, + { + "id": "a9e8d199aa47", + "title": "Tapping Into the Zen of Python", + "link": "https://realpython.com/courses/tapping-into-the-zen-of-python/", + "source": "Real Python", + "sourceId": "real-python", + "category": "Python", + "publishedAt": "2026-05-19T14:00:00.000Z", + "summary": "The Zen of Python is a collection of 19 aphorisms that capture the guiding principles behind Python’s design. You can display them anytime by running import this in a Python REPL. Tim Peters wrote them in 1999 as a…", + "summaryType": "snippet", + "image": "https://files.realpython.com/media/Whats-the-Zen-of-Python_Watermarked.3ec4785e1bb9.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.144Z" + }, + { + "id": "bf739c0d455d", + "title": "Announcing Claude Managed Agents on Cloudflare", + "link": "https://blog.cloudflare.com/claude-managed-agents/", + "source": "Cloudflare Blog", + "sourceId": "cloudflare-blog", + "category": "Architecture", + "publishedAt": "2026-05-19T13:00:00.000Z", + "summary": "Cloudflare and Anthropic have collaborated to integrate Claude Managed Agents with Cloudflare Sandboxes. Our new integration gives you more control over your agent sandboxes, secures connections to private services, and …", + "summaryType": "snippet", + "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6nYyreZYWyaKo6Xf2XjmtM/5cc21576a83e223a2cf67e8ed3fde928/image5.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.528Z", + "sponsored": true + }, + { + "id": "bbfacdc0dda2", + "title": "This Week in Spring - May 19th, 2026", + "link": "https://spring.io/blog/2026/05/19/this-week-in-spring-may-19-2026", + "source": "Spring Blog", + "sourceId": "spring-blog", + "category": "Java", + "publishedAt": "2026-05-19T00:00:00.000Z", + "summary": "Hi Spring fans! Welcome to another installment of This Week in Spring !, this one written from the back of a taxi racing to the local Frankfurt train station, where I'll take a train to Munich for the amazing Kotlin…", + "summaryType": "snippet", + "image": "https://spring.io/img/og-spring.png", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.539Z" + }, + { + "id": "ef0f919f4845", + "title": "Spring Office Hours Podcast: S5E16 - May Release Train Shift & What's Coming in Spring Boot 4.1", + "link": "https://spring.io/blog/2026/05/19/spring-office-hours-podcast-S5E16", + "source": "Spring Blog", + "sourceId": "spring-blog", + "category": "Java", + "publishedAt": "2026-05-19T00:00:00.000Z", + "summary": "Join Dan Vega and DaShaun Carter for the latest updates from the Spring Ecosystem. In this episode, Dan and DaShaun break down the recently announced shift of the May release train from May 11-22 to June 1-5, and what th…", + "summaryType": "snippet", + "image": "https://spring.io/img/og-spring.png", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.539Z" + }, + { + "id": "df44e5fe1232", + "title": "Dr. Axel's blog is gone (for now)", + "link": "https://javascriptweekly.com/issues/786", + "source": "JavaScript Weekly", + "sourceId": "js-weekly", + "category": "JavaScript", + "publishedAt": "2026-05-19T00:00:00.000Z", + "summary": "#​786 — May 19, 2026 Read on the Web JavaScript Weekly RFC: It’s Time for npm to Make Install Scripts Opt-In — npm is the only major package manager that runs dependency install scripts (e.g. postinstall ) by default, an…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/javascript.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:30.016Z" + }, + { + "id": "94138721a3a5", + "title": "CISA Admin Leaked AWS GovCloud Keys on Github", + "link": "https://krebsonsecurity.com/2026/05/cisa-admin-leaked-aws-govcloud-keys-on-github/", + "source": "Krebs on Security", + "sourceId": "krebs-security", + "category": "Security", + "publishedAt": "2026-05-18T20:48:21.000Z", + "summary": "Until this past weekend, a contractor for the Cybersecurity & Infrastructure Security Agency (CISA) maintained a public GitHub repository that exposed credentials to several highly privileged AWS GovCloud accounts and a …", + "summaryType": "snippet", + "image": "https://krebsonsecurity.com/wp-content/uploads/2026/05/privatecisa.png", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.719Z", + "sponsored": true + }, + { + "id": "035816f700ee", + "title": "Manchester Code Made Bits Behave", + "link": "https://spectrum.ieee.org/manchester-code-ieee-milestone", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "Security", + "publishedAt": "2026-05-18T18:00:01.000Z", + "summary": "In the late 1940s—when computer engineers were grappling with unreliable hardware and noisy transmission environments—a team of engineers inside a modest lab at the University of Manchester , England, confronted a proble…", + "summaryType": "snippet", + "image": "https://spectrum.ieee.org/media-library/black-and-white-photograph-of-a-well-dressed-young-man-working-on-a-magnetic-drum-store-in-a-lab.jpg?id=66734376&width=1245&height=700&coordinates=0%2C120%2C0%2C121", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.095Z", + "sponsored": true + }, + { + "id": "98af69a4eb7a", + "title": "Take your local GitHub sessions anywhere", + "link": "https://github.blog/news-insights/product-news/take-your-local-github-sessions-anywhere/", + "source": "GitHub Blog", + "sourceId": "github-blog", + "category": "Open Source", + "publishedAt": "2026-05-18T16:54:53.000Z", + "summary": "The best GitHub Copilot workflows don’t happen one–thing–at–a time. You might have an agent refactoring a module in VS Code, another debugging tests in the CLI, and a third scaffolding a new featu…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:28.496Z" + }, + { + "id": "bacd6396afa5", + "title": "What Do Gödel’s Incompleteness Theorems Truly Mean?", + "link": "https://www.quantamagazine.org/what-do-godels-incompleteness-theorems-truly-mean-20260518/", + "source": "Quanta Magazine", + "sourceId": "quanta-magazine", + "category": "AI", + "publishedAt": "2026-05-18T15:14:42.000Z", + "summary": "In 1931, by turning logic on itself, Kurt Gödel proved a pair of theorems that transformed the landscape of knowledge and truth. These “incompleteness theorems” established that no formal system of mathe…", + "summaryType": "snippet", + "image": "https://www.quantamagazine.org/wp-content/uploads/2050/01/Qualia-Incompleteness-cr-Kurt-Godel-Papers-the-Shelby-White-and-Leon-Levy-Achives-Center-Institute-for-Advanced-Study-Samuel-Velasco-and-Michael-Kanyongolo-Default.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.678Z" + }, + { + "id": "e7c584482800", + "title": "Python Built-in Functions: A Complete Guide", + "link": "https://realpython.com/python-built-in-functions/", + "source": "Real Python", + "sourceId": "real-python", + "category": "Python", + "publishedAt": "2026-05-18T14:00:00.000Z", + "summary": "Python’s built-in functions are predefined functions you can use anywhere in your code without any imports. They handle common tasks across math, data type creation, iterable processing, and input and output. Knowing whi…", + "summaryType": "snippet", + "image": "https://files.realpython.com/media/Pythons-Built-in-Functions-A-Quick-Exploration_Watermarked.44a8e102943b.jpg", + "fallbackImage": "/assets/fallbacks/python.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.145Z", + "sponsored": true + }, + { + "id": "53fb2796fe06", + "title": "What Makes a Job Dull, Dirty, or Dangerous?", + "link": "https://spectrum.ieee.org/dull-dirty-dangerous-robots", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "Security", + "publishedAt": "2026-05-18T13:00:00.000Z", + "summary": "For years, the field of robotics has used the terms “dull, dirty, and dangerous” (DDD) to describe the types of tasks or jobs where robots might be useful—by doing work that’s undesirable for people. A classic example of…", + "summaryType": "snippet", + "image": "https://spectrum.ieee.org/media-library/a-curbside-trash-can-being-lifted-by-a-mechanical-arm-attached-to-the-side-of-a-garbage-truck.jpg?id=66736070&width=1245&height=700&coordinates=0%2C178%2C0%2C178", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.096Z" + }, + { + "id": "ea5a849e46bb", + "title": "Java News Roundup: OpenJDK JEPs, Azul Payara, WildFly, LangChain4j, OpenXava, Google ADK", + "link": "https://www.infoq.com/news/2026/05/java-news-roundup-may11-2026/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", + "source": "InfoQ Java", + "sourceId": "infoq-java", + "category": "Java", + "publishedAt": "2026-05-18T12:45:00.000Z", + "summary": "This week's Java roundup for May 11th, 2026, features news highlighting: three OpenJDK JEPs targeted for JDK 27; introducting Azul Payara Community and the WildFly wado CLI tool; point releases of LangChain4j and Google …", + "summaryType": "snippet", + "image": "https://res.infoq.com/news/2026/05/java-news-roundup-may11-2026/en/headerimage/java-news-roundup-image-1779108213136.jpg", + "fallbackImage": "/assets/fallbacks/java.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.066Z" + }, + { + "id": "d7d9be038577", + "title": "Zero-Day Exploit Against Windows BitLocker", + "link": "https://www.schneier.com/blog/archives/2026/05/zero-day-exploit-against-windows-bitlocker.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-18T11:08:38.000Z", + "summary": "It’s nasty , but it requires physical access to the computer: The exploit, named YellowKey, was published earlier this week by a researcher who goes by the alias Nightmare-Eclipse. It reliably bypasses default Wind…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.852Z" + }, + { + "id": "d5fa5302b09b", + "title": "Podcast: Context is the Key to the Agentic Architecture Revolution: a Conversation with Baruch Sadogursky", + "link": "https://www.infoq.com/podcasts/context-key-agentic-architecture-revolution/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Architecture", + "source": "InfoQ Architecture", + "sourceId": "infoq-arch", + "category": "Architecture", + "publishedAt": "2026-05-18T11:00:00.000Z", + "summary": "Michael Stiefel spoke to Baruch Sadogursky about software architecture in the age of agentic AI. LLM can function, albeit stochastically, as reasoning machines capable of interpreting human ambiguity. With the appropriat…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.361Z", + "sponsored": true + }, + { + "id": "6456a22c2d33", + "title": "Agentic AI for Robot Teams", + "link": "https://events.bizzabo.com/867156", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "AI", + "publishedAt": "2026-05-18T10:00:01.000Z", + "summary": "This presentation highlights recent efforts at the Johns Hopkins Applied Physics Laboratory to advance agentic AI for collaborative robotic teams. It begins by framing the core challenges of enabling autonomy, coordinati…", + "summaryType": "snippet", + "image": "https://assets.rbl.ms/66700256/origin.png", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.096Z", + "sponsored": true + }, + { + "id": "1db9a89b276b", + "title": "How Melbourne’s AI and Data Center Flywheel Is Accelerating Research Innovation", + "link": "https://spectrum.ieee.org/melbourne-ai-data-center-innovation", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "AI", + "publishedAt": "2026-05-18T10:00:01.000Z", + "summary": "This sponsored article is brought to you by Melbourne Convention Bureau (MCB) supported by Business Events Australia . Melbourne’s reputation as a global events city, from the Australian Open tennis and Formula 1 Austral…", + "summaryType": "snippet", + "image": "https://spectrum.ieee.org/media-library/blue-lit-server-room-featuring-the-large-monash-maveric-supercomputer-installation.jpg?id=66718014&width=1245&height=700&coordinates=0%2C0%2C0%2C1", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.097Z", + "sponsored": true + }, + { + "id": "f1ec214c14f8", + "title": "Project Glasswing: what Mythos showed us", + "link": "https://blog.cloudflare.com/cyber-frontier-models/", + "source": "Cloudflare Blog", + "sourceId": "cloudflare-blog", + "category": "Architecture", + "publishedAt": "2026-05-18T06:00:00.000Z", + "summary": "For the last few months, we've been testing a range of security-focused LLMs on our own infrastructure. These LLMs help identify potential vulnerabilities in our own systems, so we can fix them – and they also show us wh…", + "summaryType": "snippet", + "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5St6rLRq9wkuxwmLHZ88CV/b4eb948c917ef7f7b0028ccc8ec0aefe/image2.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.529Z" + }, + { + "id": "fbe1425f9a36", + "title": "Project goals update — April 2026 (end of 2025H2)", + "link": "https://blog.rust-lang.org/2026/05/18/project-goals-2026-04/", + "source": "Rust Blog", + "sourceId": "rust-blog", + "category": "Rust", + "publishedAt": "2026-05-18T00:00:00.000Z", + "summary": "The 2025H2 Project Goal period has now concluded. Over these months, the Rust Project pursued 41 Project Goals , 13 of which were designated as Flagship Goals . This post contains curated updates on our progress since th…", + "summaryType": "snippet", + "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", + "fallbackImage": "/assets/fallbacks/rust.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.691Z" + }, + { + "id": "19614be34b2d", + "title": "Friday Squid Blogging: Bigfin Squid", + "link": "https://www.schneier.com/blog/archives/2026/05/friday-squid-blogging-bigfin-squid.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-16T01:03:31.000Z", + "summary": "Article about the bigfin squid. As usual, you can also use this squid post to talk about the security stories in the news that I haven’t covered. Blog moderation policy.", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.852Z" + }, + { + "id": "15e2ab30f961", + "title": "Building a general-purpose accessibility agent—and what we learned in the process", + "link": "https://github.blog/ai-and-ml/github-copilot/building-a-general-purpose-accessibility-agent-and-what-we-learned-in-the-process/", + "source": "GitHub Blog", + "sourceId": "github-blog", + "category": "Open Source", + "publishedAt": "2026-05-15T16:00:00.000Z", + "summary": "It is an understatement to say agents have become a popular way of working with code. GitHub has adopted agent-based code creation and editing for many of its initiatives, including piloting an agent to help with our com…", + "summaryType": "snippet", + "image": "https://github.blog/wp-content/uploads/2026/05/image2.png?resize=1024%2C731", + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.496Z" + }, + { + "id": "585001b1978a", + "title": "Raising the bar: Quality, shared responsibility, and the future of GitHub’s bug bounty program", + "link": "https://github.blog/security/raising-the-bar-quality-shared-responsibility-and-the-future-of-githubs-bug-bounty-program/", + "source": "GitHub Blog", + "sourceId": "github-blog", + "category": "Open Source", + "publishedAt": "2026-05-15T14:00:00.000Z", + "summary": "The security research community is one of GitHub’s greatest assets. Every year, researchers from around the world help us find and fix vulnerabilities, making the platform safer for over 180 million developers. Our…", + "summaryType": "snippet", + "image": "https://github.blog/wp-content/uploads/2021/06/GitHub-Bug-Bounty.png?fit=1498%2C826", + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.497Z" + }, + { + "id": "5ad2c28f5139", + "title": "Rubin Tracks Skyscraper-Size Asteroids, Failed Supernovas, and Interstellar Visitors", + "link": "https://www.quantamagazine.org/rubin-tracks-skyscraper-size-asteroids-failed-supernovas-and-interstellar-visitors-20260515/", + "source": "Quanta Magazine", + "sourceId": "quanta-magazine", + "category": "AI", + "publishedAt": "2026-05-15T13:50:50.000Z", + "summary": "Over the years, anticipation has built for the start of observations at the Vera C. Rubin Observatory in the mountains of the Atacama Desert in Chile. Originally imagined in the mid-1990s as the Dark Matter Telescop…", + "summaryType": "snippet", + "image": "https://www.quantamagazine.org/wp-content/uploads/2026/05/Rubin-and-Snowy-Cerro-Pachon-cr-NSF-DOE-Rubin-Observatory-NOIRLab-SLAC-AURA-A.-Pizarro-D-Default.webp", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:29.678Z" + }, + { + "id": "b43cc2906ddd", + "title": "Striking New Views of the First Atomic Bomb Test", + "link": "https://spectrum.ieee.org/trinity-nuclear-test", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "General", + "publishedAt": "2026-05-15T13:00:01.000Z", + "summary": "Editor’s note: If you’d like to pinpoint the instant when the world entered the nuclear age, 5:29:45 a.m. Mountain War Time on 16 July 1945, is an excellent choice. That was the moment when human beings first unleashed t…", + "summaryType": "snippet", + "image": "https://spectrum.ieee.org/media-library/photo-of-the-earliest-instant-of-the-first-atomic-explosion-is-seen-as-a-grayish-white-semi-sphere-against-a-black-background.jpg?id=66722347&width=1245&height=700&coordinates=9%2C0%2C10%2C0", + "fallbackImage": "/assets/fallbacks/general.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.097Z" + }, + { + "id": "ae70e5943c89", + "title": "Bypassing On-Camera Age-Verification Checks", + "link": "https://www.schneier.com/blog/archives/2026/05/bypassing-on-camera-age-verification-checks.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-15T11:06:57.000Z", + "summary": "Some AI-based video age-verification checks can be fooled with a fake mustache .", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.852Z" + }, + { + "id": "fb4539c67065", + "title": "Why Cilium vendors every Go module in 2026", + "link": "https://golangweekly.com/issues/601", + "source": "Go Weekly", + "sourceId": "go-weekly", + "category": "Go", + "publishedAt": "2026-05-15T00:00:00.000Z", + "summary": "#​601 — May 15, 2026 Read the Web Version Go Weekly 'Go Fuzzing Was Missing Half the Toolkit: We Forked the Toolchain to Fix It' — Go’s fuzzer lags the LibAFL-class tools Rust and C++ devs take for granted. Enter gosentr…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/go.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.073Z" + }, + { + "id": "66dd106edba8", + "title": "GitHub availability report: April 2026", + "link": "https://github.blog/news-insights/company-news/github-availability-report-april-2026/", + "source": "GitHub Blog", + "sourceId": "github-blog", + "category": "Open Source", + "publishedAt": "2026-05-14T22:02:43.000Z", + "summary": "In April, we experienced 10 incidents that resulted in degraded performance across GitHub services. To increase transparency, at the end of April, we released a blog post covering major incidents on April 23 and April 27…", + "summaryType": "snippet", + "image": "https://github.blog/wp-content/uploads/2025/08/wallpaper-generic-.png", + "fallbackImage": "/assets/fallbacks/open-source.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.497Z" + }, + { + "id": "b75a48efebd6", + "title": "Fragments: May 14", + "link": "https://martinfowler.com/fragments/2026-05-14.html", + "source": "Martin Fowler", + "sourceId": "martin-fowler", + "category": "Architecture", + "publishedAt": "2026-05-14T21:52:00.000Z", + "summary": "Last week I spent a day at The Orchard Retreat, hosted by Mechanical Orchard . that brought together several people working in software development to talk about the profession’s future with the rise of agentic programmi…", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.015Z", + "sponsored": true + }, + { + "id": "a8440b716dbf", + "title": "Two from MIT named 2026 Knight-Hennessy Scholars", + "link": "https://news.mit.edu/2026/knight-hennessy-scholars-0514", + "source": "MIT AI News", + "sourceId": "mit-ai", + "category": "AI", + "publishedAt": "2026-05-14T20:55:00.000Z", + "summary": "MIT master’s student Sunshine Jiang ’25 and Rupert Li ’24 are recipients of this year’s Knight-Hennessy Scholarship. Now in its ninth year, the highly competitive scholarship provides up to three years of financial suppo…", + "summaryType": "snippet", + "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202605/MIT-Knight-Hennessy2026-jiang-li.jpg?itok=_hiXai7A", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.973Z" + }, + { + "id": "a4ff4bc7bf51", + "title": "Zero-day exploit completely defeats default Windows 11 BitLocker protections", + "link": "https://arstechnica.com/security/2026/05/zero-day-exploit-completely-defeats-default-windows-11-bitlocker-protections/", + "source": "Ars Technica", + "sourceId": "ars-technica", + "category": "Security", + "publishedAt": "2026-05-14T18:32:01.000Z", + "summary": "A zero-day exploit circulating online allows people with physical access to a Windows 11 system to bypass default BitLocker protections and gain complete access to an encrypted drive within seconds. The exploit, named Ye…", + "summaryType": "snippet", + "image": "https://cdn.arstechnica.net/wp-content/uploads/2023/07/exploit-vulnerability-security.jpg", + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.373Z" + }, + { + "id": "02131400c8b2", + "title": "IEEE Society Helps Researchers Meet Their Next Corporate Backer", + "link": "https://spectrum.ieee.org/ieee-society-pitch-sessions", + "source": "IEEE Spectrum", + "sourceId": "ieee-spectrum", + "category": "AI", + "publishedAt": "2026-05-14T18:00:02.000Z", + "summary": "The IEEE Communications Society (ComSoc) ’s Research Collaboration Pitch Session initiative is proving to be a catalyst for meaningful engagement between academic researchers and industry innovators. Launched last year, …", + "summaryType": "snippet", + "image": "https://spectrum.ieee.org/media-library/a-man-giving-a-presentation-in-front-of-a-roundtable-audience.jpg?id=66734604&width=1245&height=700&coordinates=0%2C62%2C0%2C63", + "fallbackImage": "/assets/fallbacks/ai.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.098Z", + "sponsored": true + }, + { + "id": "286c90eab84e", + "title": "Cisco announces record revenue and 4,000 layoffs in the same day", + "link": "https://arstechnica.com/information-technology/2026/05/cisco-announces-record-revenue-and-4000-layoffs-in-the-same-day/", + "source": "Ars Technica", + "sourceId": "ars-technica", + "category": "General", + "publishedAt": "2026-05-14T16:47:43.000Z", + "summary": "Following a quarter in which his company delivered record revenue, Cisco CEO Chuck Robbins announced that the company's latest round of layoffs begins today. In a blog post yesterday, Robbins was quick to boast that Cisc…", + "summaryType": "snippet", + "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/GettyImages-2251821138-1024x648.jpg", + "fallbackImage": "/assets/fallbacks/general.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:27.374Z" + }, + { + "id": "82b732aa1849", + "title": "Upcoming Speaking Engagements", + "link": "https://www.schneier.com/blog/archives/2026/05/upcoming-speaking-engagements-56.html", + "source": "Schneier on Security", + "sourceId": "schneier-security", + "category": "Security", + "publishedAt": "2026-05-14T16:01:38.000Z", + "summary": "This is a current list of where and when I am scheduled to speak: I’m giving a virtual talk on “The Security of Trust in the Age of AI,” hosted by the Financial Women’s Association of New York , at 6:00 PM ET on May 21, …", + "summaryType": "snippet", + "image": null, + "fallbackImage": "/assets/fallbacks/security.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:27.852Z" + }, + { + "id": "51fdee1a4069", + "title": "From latency to instant: Modernizing GitHub Issues navigation performance", + "link": "https://github.blog/engineering/architecture-optimization/from-latency-to-instant-modernizing-github-issues-navigation-performance/", + "source": "GitHub Blog", + "sourceId": "github-blog", "category": "Open Source", - "publishedAt": "2026-05-14T13:14:30.000Z", - "summary": "The kernel's reverse-mapping machinery is charged with locating the page-table entries that refer to a given page in memory. The reverse mapping of anonymous pages is handled differently than for file-backed pages. The k…", + "publishedAt": "2026-05-14T16:00:00.000Z", + "summary": "When you’re working through a backlog—opening an issue, jumping to a linked thread, then back to the list—latency isn’t just a metric. It’s a context switch. Even small delays add up, and th…", "summaryType": "snippet", - "image": null, + "image": "https://github.blog/wp-content/uploads/2026/05/finalResults.png?resize=1024%2C615", "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.233Z" + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:28.499Z" }, { - "id": "38fa52ecfeca", - "title": "Security updates for Thursday", - "link": "https://lwn.net/Articles/1072838/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-14T13:09:38.000Z", - "summary": "Security updates have been issued by AlmaLinux (gimp, jq, and yggdrasil), Debian (nghttp2 and thunderbird), Fedora (chromium, firefox, freerdp, GitPython, kernel, kernel-headers, krb5, nano, nix, nodejs20, php, python-cl…", + "id": "90ea004a079e", + "title": "Bliki: Interrogatory LLM", + "link": "https://martinfowler.com/bliki/InterrogatoryLLM.html", + "source": "Martin Fowler", + "sourceId": "martin-fowler", + "category": "Architecture", + "publishedAt": "2026-05-14T15:04:00.000Z", + "summary": "When we need an LLM to perform a complex task, we often need to feed it a lot of context. Coming up with a design for a new feature requires descriptions of how we want the feature to appear to the user, guidelines on ho…", "summaryType": "snippet", "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", + "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.233Z" + "fetchedAt": "2026-05-26T13:50:29.015Z" }, { "id": "37059b0f38c3", @@ -2193,37 +4987,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6d3ywoUP3OE2DCRAJtAgF7/5aa62c5702a923e30889ebf787925ae8/BLOG-3299_image4.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.993Z" - }, - { - "id": "26186cf25d01", - "title": "Real Python: Quiz: Cursor vs Windsurf: Which AI Code Editor Is Best for Python?", - "link": "https://realpython.com/quizzes/cursor-vs-windsurf-python/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-14T12:00:00.000Z", - "summary": "In this quiz, you’ll test your understanding of Cursor vs Windsurf: Which AI Code Editor Is Best for Python? By working through these questions, you’ll revisit how the two editors differ across code completio…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/Windsurf-vs-Cursor-Which-AI-Powered-Code-Editor-Is-Best-for-Python_Watermarked.5c2bcb8d1965.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.985Z" - }, - { - "id": "f2507d8dd8d7", - "title": "Real Python: Quiz: Python Metaclasses", - "link": "https://realpython.com/quizzes/python-metaclasses/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-14T12:00:00.000Z", - "summary": "In this quiz, you’ll test your understanding of Python Metaclasses . Metaclasses sit behind every class you write in Python, and they’re one of the language’s deeper object-oriented concepts. By working…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/Python-Metaclasses_Watermarked.e11d11543ff2.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.985Z" + "fetchedAt": "2026-05-26T13:50:29.529Z" }, { "id": "c405d86f164d", @@ -2238,7 +5002,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.556Z" + "fetchedAt": "2026-05-26T13:50:27.852Z", + "sponsored": true }, { "id": "d2d1e20500a4", @@ -2253,7 +5018,8 @@ "image": "https://assets.rbl.ms/66685385/origin.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.842Z" + "fetchedAt": "2026-05-26T13:50:28.098Z", + "sponsored": true }, { "id": "85d0aa9d1c46", @@ -2268,82 +5034,8 @@ "image": "https://spectrum.ieee.org/media-library/modern-glass-office-complex-labeled-epic-center-with-trees-and-walkways-outside.jpg?id=66659351&width=1245&height=700&coordinates=0%2C37%2C0%2C38", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.843Z" - }, - { - "id": "bc1c85631427", - "title": "Simple bypass of the link preview function in Outlook Junk folder, (Thu, May 14th)", - "link": "https://isc.sans.edu/diary/rss/32990", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-14T06:08:25.000Z", - "summary": "Besides serving as a place where Microsoft Outlook places suspected spam, the Outlook Junk folder has one additional function that can be quite helpful when it comes to identifying malicious messages. Any e-mail placed i…", - "summaryType": "snippet", - "image": "https://isc.sans.edu/diaryimages/images/26-05-14-normal.png", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.849Z" - }, - { - "id": "1ae44893e4cb", - "title": "ISC Stormcast For Thursday, May 14th, 2026 https://isc.sans.edu/podcastdetail/9932, (Thu, May 14th)", - "link": "https://isc.sans.edu/diary/rss/32988", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-14T04:20:11.000Z", - "summary": "(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.849Z" - }, - { - "id": "bce1e58c3382", - "title": "[$] LWN.net Weekly Edition for May 14, 2026", - "link": "https://lwn.net/Articles/1071535/", - "source": "LWN.net", - "sourceId": "lwn", - "category": "Open Source", - "publishedAt": "2026-05-14T01:04:18.000Z", - "summary": "Inside this week's LWN.net Weekly Edition: Front : Fedora AI; Forgejo "carrot" disclosure; memory-management maintainership; huge THPs; mshare; 64KB base pages; DAMON; direct map. Briefs : Dirty Frag; Fragnesia…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.233Z" - }, - { - "id": "2c9a58e3d1f1", - "title": "Python Engineering at Microsoft: PyCon US 2026", - "link": "https://devblogs.microsoft.com/python/pycon-us-2026/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-14T00:18:13.000Z", - "summary": "Come See Us at PyCon US 2026! Microsoft and GitHub will be at PyCon US 2026, May 14–17 in Long Beach, CA . Stop by our booth, say hello, and tell us about your experience with our tools and services. We’d love to m…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.986Z" - }, - { - "id": "4bb5fda7f30f", - "title": "A Bootiful Podcast: the legendary Adib Saikali", - "link": "https://spring.io/blog/2026/05/14/a-bootiful-podcast-daniel-adib-saikali", - "source": "Spring Blog", - "sourceId": "spring-blog", - "category": "Java", - "publishedAt": "2026-05-14T00:00:00.000Z", - "summary": "Hi, Spring fans! I'm so thrilled to have been able to sit down and talk to my friend Adib Saikali!", - "summaryType": "snippet", - "image": "https://spring.io/img/og-spring.png", - "fallbackImage": "/assets/fallbacks/java.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.266Z" + "fetchedAt": "2026-05-26T13:50:28.098Z", + "sponsored": true }, { "id": "1cfe66715690", @@ -2358,97 +5050,7 @@ "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/lpxoo7odk9dmyhontiqg.jpg", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.257Z" - }, - { - "id": "61d7c0c27945", - "title": "Bob Belderbos: Learn agentic AI in Python with 10 small exercises", - "link": "https://belderbos.dev/blog/learn-agentic-ai-python-10-step-journey/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-14T00:00:00.000Z", - "summary": "Most \"build an AI agent\" tutorials hand you a framework and skip the part where you actually understand what it's doing under the hood. When the abstraction breaks, you can't debug it because you never built the layer un…", - "summaryType": "snippet", - "image": "https://belderbos.dev/blog/learn-agentic-ai-python-10-step-journey/&", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.986Z" - }, - { - "id": "3f8c85e8032b", - "title": "\"Michiel's Blog\": httpx2!", - "link": "https://tildeweb.nl/~michiel/httpx2.html", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-13T19:00:00.000Z", - "summary": "It’s six weeks after we forked httpx and named our package httpxyz . Yesterday, the Pydantic people started their own fork, httpx2 . TL;DR: while we think httpxyz was definitely needed, we welcome httpx2 and think …", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.986Z" - }, - { - "id": "c6c7c15bc48d", - "title": "Kubernetes v1.36: Advancing Workload-Aware Scheduling", - "link": "https://kubernetes.io/blog/2026/05/13/kubernetes-v1-36-advancing-workload-aware-scheduling/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-13T18:35:00.000Z", - "summary": "AI/ML and batch workloads introduce unique scheduling challenges that go beyond simple Pod-by-Pod scheduling. In Kubernetes v1.35, we introduced the first tranche of workload-aware scheduling improvements, featuring the …", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.065Z" - }, - { - "id": "214019075a98", - "title": "Python Software Foundation: PSF Welcomes Hudson River Trading (HRT) as a Visionary Sponsor", - "link": "https://pyfound.blogspot.com/2026/05/psf-welcomes-hudson-river-trading-hrt.html", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-13T17:19:47.000Z", - "summary": "[May 13, 2026] – The Python Software Foundation (PSF) is excited to announce that Hudson River Trading (HRT), a global leader in quantitative trading, has made a commitment to support Python and the PSF as a Visionary Sp…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.986Z" - }, - { - "id": "b32eda356da6", - "title": "New in Terraform 1.15: Dynamic sources, variable deprecation, and more", - "link": "https://www.hashicorp.com/blog/new-in-terraform-115-dynamic-sources-variable-deprecation-and-more", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-13T16:00:00.000Z", - "summary": "Dynamic module sources With the Terraform 1.15 release, practitioners can now use variables within Terraform dependencies, encompassing aspects such as module sources and versions. For example, we are introducing a new c…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.136Z" - }, - { - "id": "e8f95781d013", - "title": "Dungeons & Desktops: 10 roguelikes that never die (because their communities won’t let them)", - "link": "https://github.blog/open-source/gaming/dungeons-desktops-10-roguelikes-that-never-die-because-their-communities-wont-let-them/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-13T16:00:00.000Z", - "summary": "The first version of NetHack was released in 1987 as a heavily modified descendant of Hack , itself based on Rogue , a Unix-era experiment built for character-based terminals around 1980. The term “roguelike”…", - "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2026/05/Screenshot-2026-05-08-at-2.44.35-PM.png?resize=1024%2C640", - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.289Z" + "fetchedAt": "2026-05-26T13:50:30.021Z" }, { "id": "b707b0787bd6", @@ -2463,37 +5065,7 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/27/ARCH-1325-image-1.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.691Z" - }, - { - "id": "d50aac05e6af", - "title": "JEP 533 Tightens Exception Handling in Java's Structured Concurrency for JDK 27", - "link": "https://www.infoq.com/news/2026/05/jep-533-jdk-27/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", - "source": "InfoQ Java", - "sourceId": "infoq-java", - "category": "Java", - "publishedAt": "2026-05-13T14:36:00.000Z", - "summary": "JEP 533, Structured Concurrency, has reached integrated status for JDK 27. It refines exception handling and type safety in its API, particularly focusing on exception flow with a new ExecutionException type. Changes inc…", - "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/jep-533-jdk-27/en/headerimage/java-istock-image-01-1762720446658-1778607694352.jpg", - "fallbackImage": "/assets/fallbacks/java.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.793Z" - }, - { - "id": "80f118da81ed", - "title": "Real Python: How to Use OpenCode for AI-Assisted Python Coding", - "link": "https://realpython.com/opencode-guide/", - "source": "Planet Python", - "sourceId": "planet-python", - "category": "Python", - "publishedAt": "2026-05-13T14:00:00.000Z", - "summary": "OpenCode is an open-source AI coding agent that runs in your terminal and lets you analyze and refactor a Python project through conversational commands. In this guide, you’ll install it on your system, set it up with a …", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/How-to-Use-OpenCode-for-AI-Assisted-Engineering_Watermarked.737726d966fd.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.987Z" + "fetchedAt": "2026-05-26T13:50:29.031Z" }, { "id": "d13e7221c8cd", @@ -2508,232 +5080,54 @@ "image": "https://engineering.fb.com/wp-content/uploads/2026/05/Meta-Tech-Podcast-episode-85-Facebook-Friend-Bubbles.webp", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.745Z" + "fetchedAt": "2026-05-26T13:50:29.056Z" }, { "id": "b40c6c6ceb56", "title": "Browser Run: now running on Cloudflare Containers, it’s faster and more scalable", "link": "https://blog.cloudflare.com/browser-run-containers/", "source": "Cloudflare Blog", - "sourceId": "cloudflare-blog", - "category": "Architecture", - "publishedAt": "2026-05-13T13:00:00.000Z", - "summary": "We’ve enabled higher usage limits, faster performance, and better reliability for Browser Run by rebuilding on top of Cloudflare’s Containers . You can now spin up 60 browsers per minute via the Workers binding and run u…", - "summaryType": "snippet", - "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3eIJK055QLIl3ay12TIhfQ/9d988169efadb16cb5b18b539b62aa55/image3.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.993Z" - }, - { - "id": "bd9ddbbb7038", - "title": "OpenAI’s GPT-5.5 is as Good as Mythos at Finding Security Vulnerabilities", - "link": "https://www.schneier.com/blog/archives/2026/05/openais-gpt-5-5-is-as-good-as-mythos-at-finding-security-vulnerabilities.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", - "category": "Security", - "publishedAt": "2026-05-13T11:03:35.000Z", - "summary": "The UK’s AI Security Institute evaluated GPT-5.5’s ability to find security vulnerabilities, and found that it is comparable to Claude Mythos. Note that the OpenAI model is generally available. Here is the In…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.556Z" - }, - { - "id": "178b7720139b", - "title": "NIST Narrows the NVD: What Container Security Programs Should Reassess", - "link": "https://www.docker.com/blog/nist-narrows-the-nvd-what-container-security-programs-should-reassess/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-05-13T10:38:28.000Z", - "summary": "On April 15, NIST announced a prioritized enrichment model for the National Vulnerability Database. Most CVEs will still be published, but fewer will receive the CVSS scores, CPE mappings, and CWE classifications that co…", - "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2025/03/image.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.840Z" - }, - { - "id": "c0efca691c1b", - "title": "[GUEST DIARY] Tearing apart website fraud to see how it works., (Wed, May 13th)", - "link": "https://isc.sans.edu/diary/rss/32958", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-13T06:29:07.000Z", - "summary": "[This is a Guest Diary by Joshua Nikolson, an ISC Intern and part of the SANS.edu Bachelor's degree in Applied Cybersecurity (BACS) program.] Introduction One day at work, a friend messaged me, “How do you check a …", - "summaryType": "snippet", - "image": "https://isc.sans.edu/diaryimages/images/1-VTresults.png", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.850Z" - }, - { - "id": "7509f6e4f13c", - "title": "This Week in Rust 651", - "link": "https://this-week-in-rust.org/blog/2026/05/13/this-week-in-rust-651/", - "source": "This Week in Rust", - "sourceId": "this-week-rust", - "category": "Rust", - "publishedAt": "2026-05-13T04:00:00.000Z", - "summary": "Hello and welcome to another issue of This Week in Rust ! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want somethin…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/rust.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.497Z" - }, - { - "id": "0f4460acf36b", - "title": "ISC Stormcast For Wednesday, May 13th, 2026 https://isc.sans.edu/podcastdetail/9930, (Wed, May 13th)", - "link": "https://isc.sans.edu/diary/rss/32984", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-13T03:05:02.000Z", - "summary": "(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.850Z" - }, - { - "id": "f879a20a7dc3", - "title": "Proxying the Unproxyable? Sending EXE traffic to a Proxy, (Wed, May 13th)", - "link": "https://isc.sans.edu/diary/rss/32982", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-13T01:20:35.000Z", - "summary": ".. if “unproxyable” is a word that is .. I had a recent engagement where I had to look at the network traffic generated by a Windows executable. Unfortunately, it was all TLS, and all TLS1.3 to boot. So from …", - "summaryType": "snippet", - "image": "https://isc.sans.edu/diaryimages/images/proxy_setup(1).png", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.850Z" - }, - { - "id": "1272da189124", - "title": "Patch Tuesday, May 2026 Edition", - "link": "https://krebsonsecurity.com/2026/05/patch-tuesday-may-2026-edition/", - "source": "Krebs on Security", - "sourceId": "krebs-security", - "category": "Security", - "publishedAt": "2026-05-12T21:46:45.000Z", - "summary": "Artificial intelligence platforms may be just as susceptible to social engineering as human beings, but they are proving remarkably good at finding security vulnerabilities in human-made computer code. That reality is on…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.526Z" - }, - { - "id": "6895b676b72c", - "title": "Kubernetes v1.36: PSI Metrics for Kubernetes Graduates to GA", - "link": "https://kubernetes.io/blog/2026/05/12/kubernetes-v1-36-psi-metrics-ga/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-12T18:35:00.000Z", - "summary": "Since its original implementation in the Linux kernel in 2018, Pressure Stall Information (PSI) has provided users with the high-fidelity signals needed to identify resource saturation before it becomes an outage. Unlike…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.065Z" - }, - { - "id": "972e412bdddb", - "title": "Microsoft May 2026 Patch Tuesday, (Tue, May 12th)", - "link": "https://isc.sans.edu/diary/rss/32980", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-12T18:29:36.000Z", - "summary": "Today's Microsoft patch Tuesday fixes 137 different vulnerabilities. In addition, the update addresses 137 Chromium-related issues affecting Microsoft Edge. There are no already disclosed or already exploited vulnerabili…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.851Z" - }, - { - "id": "ee499fd4d7c2", - "title": "Docker AI Governance: Unlock Agent Autonomy, Safely", - "link": "https://www.docker.com/blog/docker-ai-governance-unlock-agent-autonomy-safely/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-05-12T18:00:09.000Z", - "summary": "Introducing Docker AI Governance: centralized control over how agents execute, what they can reach on the network, which credentials they can use, and which MCP tools they can call, so every developer in your company can…", - "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2025/03/image.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.840Z" - }, - { - "id": "5ac505954f43", - "title": "IEEE Program Aims to Connect the Billions Who Are Still Offline", - "link": "https://spectrum.ieee.org/ieee-connect-the-unconnected", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "General", - "publishedAt": "2026-05-12T18:00:02.000Z", - "summary": "Given how integral the Internet has become to everyday tasks such as shopping, paying bills, and holding virtual meetings, it’s interesting that nearly 30 percent of the global population still has no access to it. More …", + "sourceId": "cloudflare-blog", + "category": "Architecture", + "publishedAt": "2026-05-13T13:00:00.000Z", + "summary": "We’ve enabled higher usage limits, faster performance, and better reliability for Browser Run by rebuilding on top of Cloudflare’s Containers . You can now spin up 60 browsers per minute via the Workers binding and run u…", "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/a-small-group-smiling-and-standing-behind-a-table-decorated-with-a-cloth-that-reads-ieee-5g-6g-innovation-testbed.jpg?id=66723229&width=1245&height=700&coordinates=0%2C156%2C0%2C157", - "fallbackImage": "/assets/fallbacks/general.svg", + "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3eIJK055QLIl3ay12TIhfQ/9d988169efadb16cb5b18b539b62aa55/image3.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.844Z" + "fetchedAt": "2026-05-26T13:50:29.530Z" }, { - "id": "ce13f861b472", - "title": "GitHub Copilot individual plans: Introducing flex allotments in Pro and Pro+, and a new Max plan", - "link": "https://github.blog/news-insights/company-news/github-copilot-individual-plans-introducing-flex-allotments-in-pro-and-pro-and-a-new-max-plan/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-12T17:35:41.000Z", - "summary": "We’ve heard your questions about whether the included usage in each GitHub Copilot plan will go far enough when we transition to usage-based billing on June 1st. Longer agent runs, multi-step work, and more capable…", + "id": "7509f6e4f13c", + "title": "This Week in Rust 651", + "link": "https://this-week-in-rust.org/blog/2026/05/13/this-week-in-rust-651/", + "source": "This Week in Rust", + "sourceId": "this-week-rust", + "category": "Rust", + "publishedAt": "2026-05-13T04:00:00.000Z", + "summary": "Hello and welcome to another issue of This Week in Rust ! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want somethin…", "summaryType": "snippet", "image": null, - "fallbackImage": "/assets/fallbacks/open-source.svg", + "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.289Z" - }, - { - "id": "421272b1e8ed", - "title": "Neutralizing the Gigascale Problem: How to Solve the Physical Power Paradox of Extreme AI Training Loads", - "link": "https://spectrum.ieee.org/gigascale-ai-datacenter-power", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "AI", - "publishedAt": "2026-05-12T17:15:15.000Z", - "summary": "This sponsored article is brought to you by Ampace . As AI workloads grow to gigascale levels, the global data center industry has hit a hidden physical wall. The real bottleneck is no longer just the thermal limit of th…", - "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/three-tall-white-ampace-battery-modules-on-display-stands-at-a-trade-show.jpg?id=66700587&width=1245&height=700&coordinates=0%2C73%2C0%2C73", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.844Z" + "fetchedAt": "2026-05-26T13:50:28.863Z", + "sponsored": true }, { - "id": "591e3545eb96", - "title": "Terraform Enterprise 2.0: Evolving infrastructure operations for scale", - "link": "https://www.hashicorp.com/blog/terraform-enterprise-evolving-infrastructure-operations-for-scale", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-12T16:30:00.000Z", - "summary": "Key features in Terraform Enterprise 2.0 include: Stacks to manage multi-tier, multi-environment deployments as a single system, reducing coordination overhead and improving deployment consistency Project-level notificat…", + "id": "1272da189124", + "title": "Patch Tuesday, May 2026 Edition", + "link": "https://krebsonsecurity.com/2026/05/patch-tuesday-may-2026-edition/", + "source": "Krebs on Security", + "sourceId": "krebs-security", + "category": "Security", + "publishedAt": "2026-05-12T21:46:45.000Z", + "summary": "Artificial intelligence platforms may be just as susceptible to social engineering as human beings, but they are proving remarkably good at finding security vulnerabilities in human-made computer code. That reality is on…", "summaryType": "snippet", "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", + "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.136Z" + "fetchedAt": "2026-05-26T13:50:27.720Z", + "sponsored": true }, { "id": "b4fd9f6512df", @@ -2748,22 +5142,7 @@ "image": "https://engineering.fb.com/wp-content/uploads/2026/05/Migrating-Data-Ingestion-Systems-at-Meta-Scale-image-2.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.746Z" - }, - { - "id": "18d3d7926257", - "title": "Announcing native AI agent support in HashiCorp Vault", - "link": "https://www.hashicorp.com/blog/announcing-native-ai-agent-support-in-hashicorp-vault", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-12T16:00:00.000Z", - "summary": "Traditional IAM was designed for deterministic users and workflows. Agentic AI introduces autonomous, non-deterministic actors that require a fundamentally different authorization model, one that combines identity, deleg…", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1778525391-fig-1-registry-and-auth.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.137Z" + "fetchedAt": "2026-05-26T13:50:29.056Z" }, { "id": "798897701a2c", @@ -2778,7 +5157,8 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/mit-open-learning-universal-learning.jpg?itok=PchQYgNW", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.587Z" + "fetchedAt": "2026-05-26T13:50:27.974Z", + "sponsored": true }, { "id": "c0a4d7890710", @@ -2793,37 +5173,7 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/MIT-Open-Learning-Universal-AI-Program.jpg?itok=3BfKe2of", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.587Z" - }, - { - "id": "5135cdc46742", - "title": "Dungeons & Desktops: Building a procedurally generated roguelike with GitHub Copilot CLI", - "link": "https://github.blog/ai-and-ml/github-copilot/dungeons-desktops-building-a-procedurally-generated-roguelike-with-github-copilot-cli/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-12T15:00:00.000Z", - "summary": "I got nerd-sniped into the GitHub Copilot CLI Challenge and made a questionable decision: I turned my codebase into a roguelike dungeon. It started with a simple prompt: Build a GitHub CLI extension in Go that takes the …", - "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2026/05/Screenshot-2026-05-01-at-3.54.12-PM.png?resize=1024%2C435", - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.290Z" - }, - { - "id": "74a5aeabd7f2", - "title": "Building Type-Safe LLM Agents With Pydantic AI", - "link": "https://realpython.com/courses/building-type-safe-llm-agents-with-pydantic-ai/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-12T14:00:00.000Z", - "summary": "Pydantic AI is a Python framework for building LLM agents that return validated, structured outputs using Pydantic models. Instead of parsing raw strings from LLMs, you get type-safe objects with automatic validation. If…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/Pydantic-AI-Typed-LLM-Agents-with-Structured-Outputs_Watermarked.baed59eae2f9.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.947Z" + "fetchedAt": "2026-05-26T13:50:27.974Z" }, { "id": "631b77cde614", @@ -2838,7 +5188,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.664Z" + "fetchedAt": "2026-05-26T13:50:29.015Z", + "sponsored": true }, { "id": "82a134b69531", @@ -2853,7 +5204,8 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/30/image-hybrid-mt1-1181x630.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.692Z" + "fetchedAt": "2026-05-26T13:50:29.032Z", + "sponsored": true }, { "id": "bff1ad35c88a", @@ -2868,97 +5220,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2f9eyD4uXGCNm7Ni7yHhLB/55f2b686d474173dca610fa74796299d/BLOG-3273_image5.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.994Z" - }, - { - "id": "2d975028a0cb", - "title": "Quiz: The LEGB Rule & Understanding Python Scope", - "link": "https://realpython.com/quizzes/legb-rule-python-scope/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-12T12:00:00.000Z", - "summary": "In this quiz, you’ll test your understanding of The LEGB Rule & Understanding Python Scope . By working through this quiz, you’ll revisit how Python resolves names using the LEGB rule, what the local, enc…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/Scope-in-Python---LEGB-Rule_Watermarked.e5f68e7a3642.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.947Z" - }, - { - "id": "b6bd667dbcfc", - "title": "Quiz: Building Type-Safe LLM Agents With Pydantic AI", - "link": "https://realpython.com/quizzes/pydantic-ai-video/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-12T12:00:00.000Z", - "summary": "In this quiz, you’ll test your understanding of Building Type-Safe LLM Agents With Pydantic AI . By working through this quiz, you’ll revisit how Pydantic AI returns structured outputs from LLMs, how validati…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/Pydantic-AI-Typed-LLM-Agents-with-Structured-Outputs_Watermarked.baed59eae2f9.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.947Z" - }, - { - "id": "e7c74dcfbc1a", - "title": "Copy.Fail Linux Vulnerability", - "link": "https://www.schneier.com/blog/archives/2026/05/copy-fail-linux-vulnerability.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", - "category": "Security", - "publishedAt": "2026-05-12T11:06:53.000Z", - "summary": "This is the worst Linux vulnerability in years. TL;DR copy.fail is a Linux kernel local privilege escalation, not a browser or clipboard attack. Disclosed by Theori on 29 April 2026 with a working PoC. It abuses the kern…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.556Z" - }, - { - "id": "d9ab4104bbde", - "title": "IBM Vault 2.0 adds UI enhancements and improved reporting visibility", - "link": "https://www.hashicorp.com/blog/ibm-vault-2-0-adds-ui-enhancements-and-improved-reporting-visibility", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-12T04:12:00.000Z", - "summary": "Many educational resources exist outside of IBM Vault to help users get the most value out of their secrets management experience with Vault. From developer docs to videos authored in-house by HashiCorp, an IBM company, …", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1777570432-viausl-policy-generator.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.137Z" - }, - { - "id": "8bc96d601065", - "title": "ISC Stormcast For Tuesday, May 12th, 2026 https://isc.sans.edu/podcastdetail/9928, (Tue, May 12th)", - "link": "https://isc.sans.edu/diary/rss/32978", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-12T03:15:10.000Z", - "summary": "(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.851Z" - }, - { - "id": "5316834b1680", - "title": "This Week in Spring - May 12th, 2026", - "link": "https://spring.io/blog/2026/05/12/this-week-in-spring-may-12-2026", - "source": "Spring Blog", - "sourceId": "spring-blog", - "category": "Java", - "publishedAt": "2026-05-12T00:00:00.000Z", - "summary": "Hi, Spring fans! As I write this I am in Miami, FL at the CodeRemix.ai show, focused on the wide and wonderful world of OpenRewrite and Moderne. I've got a talk to give so let's dive right into it! a quick note…", - "summaryType": "snippet", - "image": "https://spring.io/img/og-spring.png", - "fallbackImage": "/assets/fallbacks/java.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.266Z" + "fetchedAt": "2026-05-26T13:50:29.530Z" }, { "id": "7dca2711812b", @@ -2973,7 +5235,7 @@ "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ckou53i84jyf1ujrgken.jpg", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.255Z" + "fetchedAt": "2026-05-26T13:50:30.016Z" }, { "id": "9adc542ac4b4", @@ -2988,37 +5250,8 @@ "image": "https://cdn.arstechnica.net/wp-content/uploads/2022/05/caution-tape-1000x648.jpeg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.119Z" - }, - { - "id": "551e7073ab1d", - "title": "Apple Patches Everything, (Mon, May 11th)", - "link": "https://isc.sans.edu/diary/rss/32976", - "source": "SANS Internet Storm", - "sourceId": "sans-isc", - "category": "Security", - "publishedAt": "2026-05-11T22:19:13.000Z", - "summary": "Apple today released its typical feature update across it's operating systems (iOS, iPadOS, macOS, tvOS, watchOS, vision OS). With this update, Apple patched 84 different vulnerabilities. Updates are available for the \"2…", - "summaryType": "snippet", - "image": "https://isc.sans.edu/diaryimages/images/Screenshot%202026-05-11%20at%203_17_51%E2%80%AFPM.png", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.852Z" - }, - { - "id": "2d7ba24cfa0c", - "title": "Agentic application modernization at scale with Strands and Amazon Transform custom", - "link": "https://aws.amazon.com/blogs/devops/use-generative-ai-agents-for-application-modernization-at-scale-with-strands-amazon-transform-custom-and-amazon-bedrock-agentcore/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-05-11T19:03:17.000Z", - "summary": "Introduction Modernizing applications by upgrading language runtimes, migrating SDKs, and refactoring frameworks is important for cloud adoption but can be labor-intensive at scale. Each repository requires analysis of d…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/05/10/featured-image-template-1120x630.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.209Z" + "fetchedAt": "2026-05-26T13:50:27.374Z", + "sponsored": true }, { "id": "26ce1c9db886", @@ -3033,7 +5266,8 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/05/11/arch1170.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.692Z" + "fetchedAt": "2026-05-26T13:50:29.032Z", + "sponsored": true }, { "id": "ed15d87518e8", @@ -3048,112 +5282,7 @@ "image": "https://engineering.fb.com/wp-content/uploads/2023/12/Messenger-E2EE-end-to-end-security.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.746Z" - }, - { - "id": "77a1102dfcd0", - "title": "Terraform adds cost visibility, project-level notifications, and more", - "link": "https://www.hashicorp.com/blog/terraform-adds-cost-visibility-project-level-notifications-and-more", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-11T16:00:00.000Z", - "summary": "In the past few months, the HashiCorp Terraform engineering team has continuously improved features to help organizations eliminate infrastructure blind spots and strengthen governance and security across the entire infr…", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1778181684-project_view_screenshot-1.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.137Z" - }, - { - "id": "ccd68ddd1079", - "title": "GitHub for Beginners: Getting started with OSS contributions", - "link": "https://github.blog/developer-skills/github/github-for-beginners-getting-started-with-oss-contributions/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-11T16:00:00.000Z", - "summary": "Welcome back to GitHub for Beginners. So far, we’ve discussed GitHub Issues and Projects , GitHub Actions , security , GitHub Pages , and Markdown . This time we’re going to talk about open source software an…", - "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2026/05/GIT890_THUMB_GFB_B-1.png?fit=1280%2C720", - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.290Z" - }, - { - "id": "c9a36bc3d1b9", - "title": "How to Flatten a List of Lists in Python", - "link": "https://realpython.com/python-flatten-list/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-11T14:00:00.000Z", - "summary": "Flattening a list in Python involves converting a nested list structure into a single, one-dimensional list. A common approach to flatten a list of lists is to use a for loop to iterate through each sublist. Then you can…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/How-to-Flatten-a-List-of-Lists_Watermarked.2f9407737589.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.948Z" - }, - { - "id": "643f073f66a4", - "title": "Quiz: How to Flatten a List of Lists in Python", - "link": "https://realpython.com/quizzes/python-flatten-list/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-11T12:00:00.000Z", - "summary": "In this quiz, you’ll test your understanding of how to flatten a list in Python . You’ll write code and answer questions to revisit the concept of converting a multidimensional list, such as a matrix, into a …", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/How-to-Flatten-a-List-of-Lists_Watermarked.2f9407737589.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.948Z" - }, - { - "id": "6952f99b3080", - "title": "LLMs and Text-in-Text Steganography", - "link": "https://www.schneier.com/blog/archives/2026/05/llms-and-text-in-text-steganography.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", - "category": "Security", - "publishedAt": "2026-05-11T11:04:55.000Z", - "summary": "Turns out that LLMs are really good at hiding text messages in other text messages.", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.556Z" - }, - { - "id": "39c2020bc94a", - "title": "Podcast: From Java EE to Quarkus and LLMs: Adam Bien’s Playbook for Boring, Future‑Proof Systems", - "link": "https://www.infoq.com/podcasts/java-ee-quarkus-llm/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", - "source": "InfoQ Java", - "sourceId": "infoq-java", - "category": "Java", - "publishedAt": "2026-05-11T11:00:00.000Z", - "summary": "Adam Bien, an independent consultant and pioneer of zero dependencies in the enterprise world of Java, highlights the benefits of consistently using standards, regardless of whether they involve Java or existing patterns…", - "summaryType": "snippet", - "image": "https://res.infoq.com/podcasts/java-ee-quarkus-llm/en/card_header_image/adam-bien-twitter-card-1777449793047.jpg", - "fallbackImage": "/assets/fallbacks/java.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.793Z" - }, - { - "id": "b88178f4beab", - "title": "Why Mastering EVM Is Essential for Next-Generation Wireless Systems", - "link": "https://content.knowledgehub.wiley.com/understanding-evm-error-vector-magnitude-in-modern-wireless-communications/", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "AI", - "publishedAt": "2026-05-11T10:00:01.000Z", - "summary": "A comprehensive guide to error vector magnitude (EVM), the primary metric for quantifying modulation accuracy in Wi-Fi, LTE, and 5G NR systems. What Attendees will Learn What error vector magnitude is and how it is calcu…", - "summaryType": "snippet", - "image": "https://assets.rbl.ms/66678514/origin.png", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.844Z" + "fetchedAt": "2026-05-26T13:50:29.057Z" }, { "id": "519f0d44ef23", @@ -3168,82 +5297,8 @@ "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/UK_1920x1080.max-600x600.format-webp.webp", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "da257477411e", - "title": "Java News Roundup: GraalVM, Spring AI, JobRunr, GlassFish, Grails, Groovy, Quarkus Agent MCP", - "link": "https://www.infoq.com/news/2026/05/java-news-roundup-may04-2026/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=Java", - "source": "InfoQ Java", - "sourceId": "infoq-java", - "category": "Java", - "publishedAt": "2026-05-11T02:30:00.000Z", - "summary": "This week's Java roundup for May 4th, 2026, features news highlighting: OpenJDK JEPs targeted for JDK 27; the sixth milestone release of Spring AI 2.0; the first milestone release of Grails 8.0; the first alpha release o…", - "summaryType": "snippet", - "image": "https://res.infoq.com/news/2026/05/java-news-roundup-may04-2026/en/headerimage/java-news-roundup-image-1778441049106.jpg", - "fallbackImage": "/assets/fallbacks/java.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.793Z" - }, - { - "id": "105de1f77625", - "title": "May Release Train Date Changes", - "link": "https://spring.io/blog/2026/05/11/may-train-shift", - "source": "Spring Blog", - "sourceId": "spring-blog", - "category": "Java", - "publishedAt": "2026-05-11T00:00:00.000Z", - "summary": "In preparation for the May release train which will include updates across the portfolio and new minor versions (Spring Boot 4.1, etc) we are shifting the release train from the originally scheduled timeline from May 11-…", - "summaryType": "snippet", - "image": "https://spring.io/img/og-spring.png", - "fallbackImage": "/assets/fallbacks/java.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.266Z" - }, - { - "id": "9b8c72f0e8a9", - "title": "Spring Office Hours Podcast: S5E15 - Upgrading Spring and OSS Security", - "link": "https://spring.io/blog/2026/05/11/spring-office-hours-podcast-S5E15", - "source": "Spring Blog", - "sourceId": "spring-blog", - "category": "Java", - "publishedAt": "2026-05-11T00:00:00.000Z", - "summary": "Join Dan Vega and DaShaun Carter for the latest updates from the Spring Ecosystem. In this episode, Dan and DaShaun tackle two challenges every Spring developer faces: keeping applications up to date and staying ahead of…", - "summaryType": "snippet", - "image": "https://spring.io/img/og-spring.png", - "fallbackImage": "/assets/fallbacks/java.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.267Z" - }, - { - "id": "16652e5a09d7", - "title": "Friday Squid Blogging: Giant Squid Live in the Waters of Western Australia", - "link": "https://www.schneier.com/blog/archives/2026/05/friday-squid-blogging-giant-squid-live-in-the-waters-of-western-australia.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", - "category": "Security", - "publishedAt": "2026-05-08T21:03:45.000Z", - "summary": "Evidence of them has been found by analyzing DNA in the seawater. As usual, you can also use this squid post to talk about the security stories in the news that I haven’t covered. Blog moderation policy.", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.556Z" - }, - { - "id": "8a9f5e286b91", - "title": "Kubernetes v1.36: Moving Volume Group Snapshots to GA", - "link": "https://kubernetes.io/blog/2026/05/08/kubernetes-v1-36-volume-group-snapshot-ga/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-08T18:35:00.000Z", - "summary": "Volume group snapshots were introduced as an Alpha feature with the Kubernetes v1.27 release, moved to Beta in v1.32, and to a second Beta in v1.34. We are excited to announce that in the Kubernetes v1.36 release, suppor…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.066Z" + "fetchedAt": "2026-05-26T13:50:28.044Z", + "sponsored": true }, { "id": "847da0c595b3", @@ -3258,52 +5313,7 @@ "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/GettyImages-2192144566-1152x648.jpg", "fallbackImage": "/assets/fallbacks/general.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.120Z" - }, - { - "id": "eb841b3eca5f", - "title": "Ana Inês Inácio Designs the Future of Wireless", - "link": "https://spectrum.ieee.org/ana-ines-inacio-wireless", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "AI", - "publishedAt": "2026-05-08T18:00:01.000Z", - "summary": "When Ana Inês Inácio goes to work at the Netherlands Organization for Applied Scientific Research (TNO) in The Hague, she thinks about signals most people never notice: radio waves moving between satellites , sensors , a…", - "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/a-woman-smiling-with-her-framed-outstanding-young-professional-award.jpg?id=66701682&width=1245&height=700&coordinates=0%2C187%2C0%2C188", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.845Z" - }, - { - "id": "504896404dd1", - "title": "Insider Betting on Polymarket", - "link": "https://www.schneier.com/blog/archives/2026/05/insider-betting-on-polymarket.html", - "source": "Schneier on Security", - "sourceId": "schneier-security", - "category": "Security", - "publishedAt": "2026-05-08T17:49:01.000Z", - "summary": "Insider trading is rife on Polymarket: Analysis by the Anti-Corruption Data Collective, a non-profit research and advocacy group, found that long-shot bets—­defined as wagers of $2,500 or more at odds of 35 percent…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.556Z" - }, - { - "id": "2212b307bf99", - "title": "Why age assurance laws matter for developers", - "link": "https://github.blog/news-insights/policy-news-and-insights/why-age-assurance-laws-matter-for-developers/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-08T16:30:00.000Z", - "summary": "Policymakers around the world are advancing age assurance proposals to protect children and teens online. Some approaches restrict minors’ access to certain services or content, while others would require devices, …", - "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2026/01/4ba0cd42388a255e04c78e5143548f22e577d68e0f15f68e6a3c76c18b927981-1920x1080-1.png", - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.291Z" + "fetchedAt": "2026-05-26T13:50:27.374Z" }, { "id": "bb0087a8856e", @@ -3316,24 +5326,10 @@ "summary": "By John Burns and Emily Yuan Introduction At Netflix, we operate using a polyrepo strategy with tens of thousands of Java repositories. This means that we need to have ways of sharing common build logic across these repo…", "summaryType": "snippet", "image": "https://cdn-images-1.medium.com/max/1024/1*pWrmMaPCSm3XRIsTyMEpgQ.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.895Z" - }, - { - "id": "93926a80b582", - "title": "Building an end-to-end agentic SRE using AWS DevOps Agent", - "link": "https://aws.amazon.com/blogs/devops/building-an-end-to-end-agentic-sre-using-aws-devops-agent/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-05-08T15:46:14.000Z", - "summary": "Introduction As modern applications evolve into complex ecosystems of serverless functions, microservices, and event-driven architectures, incident response becomes increasingly challenging. DevOps and SRE teams spend ho…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/05/04/AgenticTeammate-Blog.png", - "fallbackImage": "/assets/fallbacks/devops.svg", + "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.210Z" + "fetchedAt": "2026-05-26T13:50:30.524Z", + "sponsored": true }, { "id": "68512a3cbeda", @@ -3348,52 +5344,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "0dee7348b8ba", - "title": "How researchers are using GitHub Innovation Graph data to reveal the “digital complexity” of nations", - "link": "https://github.blog/news-insights/policy-news-and-insights/how-researchers-are-using-github-innovation-graph-data-to-reveal-the-digital-complexity-of-nations/", - "source": "GitHub Blog", - "sourceId": "github-blog", - "category": "Open Source", - "publishedAt": "2026-05-08T15:00:00.000Z", - "summary": "One of our goals for the GitHub Innovation Graph was to facilitate research on the economic impact of open source software and developer collaboration. In a paper recently published by Research Policy , four researchers …", - "summaryType": "snippet", - "image": "https://github.blog/wp-content/uploads/2025/01/innovation_graph_1.png?fit=2400%2C1260", - "fallbackImage": "/assets/fallbacks/open-source.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.292Z" - }, - { - "id": "eb6fdf450755", - "title": "The Real Python Podcast – Episode #294: Declarative Charts in Python & Discerning Iterators vs Iterables", - "link": "https://realpython.com/podcasts/rpp/294/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-08T12:00:00.000Z", - "summary": "What if you could build charts in Python by describing what your data means, instead of scripting every visual detail? Christopher Trudeau is back on the show this week with another batch of PyCoder's Weekly article…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/E_294_Podcast_Title.ec74cba48e94.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.948Z" - }, - { - "id": "dc9eaf2c022a", - "title": "Quiz: Memory Management in Python", - "link": "https://realpython.com/quizzes/python-memory-management/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-08T12:00:00.000Z", - "summary": "In this quiz, you’ll test your understanding of Memory Management in Python . By working through this quiz, you’ll revisit how Python handles memory allocation and freeing, the role of the Global Interpreter …", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/How-Does-Python-Memory-Management-Work_Watermarked.716f0a905800.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.948Z" + "fetchedAt": "2026-05-26T13:50:28.045Z", + "sponsored": true }, { "id": "9403440277d3", @@ -3408,7 +5360,8 @@ "image": "https://krebsonsecurity.com/wp-content/uploads/2026/05/shinyhunters-instructure-canvas.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.527Z" + "fetchedAt": "2026-05-26T13:50:27.720Z", + "sponsored": true }, { "id": "5fc0fb805e3a", @@ -3423,7 +5376,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.804Z" + "fetchedAt": "2026-05-26T13:50:29.074Z" }, { "id": "de021ba6ed4d", @@ -3438,7 +5391,8 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/67gFbQxsEORTbYLfA9aiYJ/fa428c2991093073e8ca03a4bbef94e3/dark.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.994Z" + "fetchedAt": "2026-05-26T13:50:29.531Z", + "sponsored": true }, { "id": "4827140096bf", @@ -3453,67 +5407,7 @@ "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/03/GettyImages-2167753513-1152x648.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.120Z" - }, - { - "id": "faa2ecd5d3ca", - "title": "Kubernetes v1.36: More Drivers, New Features, and the Next Era of DRA", - "link": "https://kubernetes.io/blog/2026/05/07/kubernetes-v1-36-dra-136-updates/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-07T18:35:00.000Z", - "summary": "Dynamic Resource Allocation (DRA) has fundamentally changed how platform administrators handle hardware accelerators and specialized resources in Kubernetes. In the v1.36 release, DRA continues to mature, bringing a wave…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.066Z" - }, - { - "id": "a440af4f7842", - "title": "LDAP secrets management now available in IBM Vault Enterprise 2.0", - "link": "https://www.hashicorp.com/blog/ldap-secrets-management-now-available-in-ibm-vault-enterprise-20", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-07T16:00:00.000Z", - "summary": "For the modern technical decision-maker, the mandate is clear: Reduce the attack surface without stifling organizational velocity. As enterprises scale, identity remains the most targeted perimeter. Among the various ide…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.138Z" - }, - { - "id": "2d30a0958571", - "title": "Sardinia’s Ancient Reasons for Rejecting a Clean Energy Future", - "link": "https://spectrum.ieee.org/sardinia-renewable-energy-conflict", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "General", - "publishedAt": "2026-05-07T13:00:00.000Z", - "summary": "“Why are you here?” Fabrizio Pilo, an electrical engineer, asks me as we sit in an outdoor café near his home in Cagliari, an ancient city on the island of Sardinia. It’s a fair question. I’m a journalist from the United…", - "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/bucolic-landscape-featuring-pastureland-covered-in-stones-arranged-in-circular-and-straight-formations-and-nearby-wind-turbines.jpg?id=66686187&width=1245&height=700&coordinates=0%2C216%2C0%2C216", - "fallbackImage": "/assets/fallbacks/general.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.846Z" - }, - { - "id": "7f842f3a5f7c", - "title": "Comparing Different Approaches to Sandboxing", - "link": "https://www.docker.com/blog/comparing-sandboxing-approaches-ai-agents/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-05-07T13:00:00.000Z", - "summary": "“ AI agents will become the primary way we interact with computers in the future. They will be able to understand our needs and preferences, and proactively help us with tasks and decision making. “ Satya Nad…", - "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2026/04/image6.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.841Z" + "fetchedAt": "2026-05-26T13:50:27.374Z" }, { "id": "29fb7b136ba3", @@ -3528,22 +5422,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5uqfOddH7biQaTjtgQOist/5c16c08bf3e5ce2f9030d6f98d2403cb/BLOG-3308_2.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.995Z" - }, - { - "id": "975ef7ef74bc", - "title": "Quiz: Qt Designer and Python: Build Your GUI Applications Faster", - "link": "https://realpython.com/quizzes/qt-designer-python/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-07T12:00:00.000Z", - "summary": "In this quiz, you’ll test your knowledge of Qt Designer and Python: Build Your GUI Applications Faster . By working through this quiz, you’ll revisit how Qt Designer turns visual designs into .ui files, how l…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/Creating-Python-GUI-Applications-with-Qt-Designer_Watermarked.a557daee0374.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.948Z" + "fetchedAt": "2026-05-26T13:50:29.531Z" }, { "id": "db602c9aac37", @@ -3558,7 +5437,7 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202605/MIT-Automation-Wages-01-press.jpg?itok=3HI3bxqJ", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.587Z" + "fetchedAt": "2026-05-26T13:50:27.974Z" }, { "id": "3a9487ffba64", @@ -3573,37 +5452,7 @@ "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ck46oncyiofoth467qvt.jpg", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.258Z" - }, - { - "id": "76805031b2fd", - "title": "Kubernetes v1.36: Server-Side Sharded List and Watch", - "link": "https://kubernetes.io/blog/2026/05/06/kubernetes-v1-36-server-side-sharded-list-and-watch/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-06T18:35:00.000Z", - "summary": "As Kubernetes clusters grow to tens of thousands of nodes, controllers that watch high-cardinality resources like Pods face a scaling wall. Every replica of a horizontally scaled controller receives the full stream of ev…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.066Z" - }, - { - "id": "7d874f87419e", - "title": "Learn What It Takes to Become a Cybersecurity Consultant", - "link": "https://spectrum.ieee.org/ieee-guide-cybersecurity-consultant", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "Security", - "publishedAt": "2026-05-06T18:00:01.000Z", - "summary": "Cybersecurity consultants have never been more in demand. Information security analyst roles are projected to grow nearly 30 percent between now and 2034 , according to the U.S. Bureau of Labor Statistics . More than 15 …", - "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/a-young-south-asian-woman-explaining-detailed-computer-code-to-a-colleague-using-an-office-presentation-screen.jpg?id=66689798&width=1245&height=700&coordinates=0%2C157%2C0%2C157", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.846Z" + "fetchedAt": "2026-05-26T13:50:30.021Z" }, { "id": "2bf3061d68aa", @@ -3618,7 +5467,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4hF64h72z4oKRg28w0mDJm/7f535cf687750f9ea730c27fa5e729e3/BLOG-3309_2.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.995Z" + "fetchedAt": "2026-05-26T13:50:29.532Z" }, { "id": "7fd7635574ec", @@ -3633,22 +5482,8 @@ "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/01-Google_Gardening_Header.max-600x600.format-webp.webp", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "e82dee650839", - "title": "ChatterBot: Build a Chatbot With Python", - "link": "https://realpython.com/build-a-chatbot-python-chatterbot/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-06T14:00:00.000Z", - "summary": "The Python ChatterBot library lets you build a self-learning command-line chatbot with just a few lines of code. You’ll set up a basic bot, clean real WhatsApp conversation data with regular expressions, and train your c…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/Chatterbot-Build-a-Chatbot-With-Python_Watermarked.07a26197ef70.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.949Z" + "fetchedAt": "2026-05-26T13:50:28.045Z", + "sponsored": true }, { "id": "521f931a2467", @@ -3663,37 +5498,7 @@ "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/04/terminal-hotness-1152x648.jpg", "fallbackImage": "/assets/fallbacks/general.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.120Z" - }, - { - "id": "efc0e9ecdaad", - "title": "Quiz: Python & APIs: A Winning Combo for Reading Public Data", - "link": "https://realpython.com/quizzes/python-api/", - "source": "Real Python", - "sourceId": "real-python", - "category": "Python", - "publishedAt": "2026-05-06T12:00:00.000Z", - "summary": "In this quiz, you’ll test your understanding of Python & APIs: A Winning Combo for Reading Public Data . By working through this quiz, you’ll revisit how APIs send requests and responses, how the requests…", - "summaryType": "snippet", - "image": "https://files.realpython.com/media/Consuming-APIs-in-Python_Watermarked.718777293942.jpg", - "fallbackImage": "/assets/fallbacks/python.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.949Z" - }, - { - "id": "62f0b7ab82a5", - "title": "Ten Technology Enablers Shaping the Future of 6G Wireless", - "link": "https://content.knowledgehub.wiley.com/ten-key-enablers-for-6g-wireless-communications/", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "AI", - "publishedAt": "2026-05-06T10:00:02.000Z", - "summary": "A guide to ten technological components — from THz communications and AI/ML to reconfigurable intelligent surfaces — poised to define 6G wireless networks. What Attendees will Learn Which frequencies 6G will use — Unders…", - "summaryType": "snippet", - "image": "https://assets.rbl.ms/66653989/origin.png", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.846Z" + "fetchedAt": "2026-05-26T13:50:27.374Z" }, { "id": "c40d0757fab6", @@ -3708,7 +5513,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.498Z" + "fetchedAt": "2026-05-26T13:50:28.864Z", + "sponsored": true }, { "id": "45dd7f53b21e", @@ -3723,7 +5529,7 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/mit-eecs-lids-Gabriele-Farina.JPG?itok=1UkrX-oG", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.587Z" + "fetchedAt": "2026-05-26T13:50:27.975Z" }, { "id": "cfda09ec045a", @@ -3738,22 +5544,7 @@ "image": "https://cdn.arstechnica.net/wp-content/uploads/2022/08/GettyImages-1230467668-1152x648.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.120Z" - }, - { - "id": "f523dc5ec53c", - "title": "Kubernetes v1.36: Declarative Validation Graduates to GA", - "link": "https://kubernetes.io/blog/2026/05/05/kubernetes-v1-36-declarative-validation-ga/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-05T18:35:00.000Z", - "summary": "In Kubernetes v1.36, Declarative Validation for Kubernetes native types has reached General Availability (GA). For users, this means more reliable, predictable, and better-documented APIs. By moving to a declarative mode…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.066Z" + "fetchedAt": "2026-05-26T13:50:27.375Z" }, { "id": "c884bf1be7e7", @@ -3768,7 +5559,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.665Z" + "fetchedAt": "2026-05-26T13:50:29.015Z" }, { "id": "d3a3e09ace91", @@ -3783,7 +5574,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.665Z" + "fetchedAt": "2026-05-26T13:50:29.015Z" }, { "id": "96a76e6b90cc", @@ -3798,37 +5589,8 @@ "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/futurevisionxprize_social.max-600x600.format-webp.webp", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "96d403074d80", - "title": "Bionic Tech Must Prove Itself Beyond the Lab", - "link": "https://spectrum.ieee.org/assistive-technology", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "General", - "publishedAt": "2026-05-05T15:45:33.000Z", - "summary": "I first met Robert Woo in 2011, during his third time walking in a powered exoskeleton . The architect had been paralyzed in a construction accident four years earlier, but he was determined to get back on his feet. Watc…", - "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/a-seated-man-in-a-robotic-suit-smiles-at-a-seated-woman-holding-a-laptop.png?id=65559767&width=1245&height=700&coordinates=0%2C269%2C0%2C269", - "fallbackImage": "/assets/fallbacks/general.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.846Z" - }, - { - "id": "4771726aaa51", - "title": "Generate Images Locally with Docker Model Runner and Open WebUI", - "link": "https://www.docker.com/blog/blog-generate-images-locally-dmr-open-webui/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-05-05T13:00:00.000Z", - "summary": "We’ve all been there: you need to generate a few images for a project, you fire up an AI image service, and suddenly you’re wondering what happens to your prompts, how many credits you have left, or why that …", - "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2026/03/Generate-image-with-Open-WebUI-fig-3.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.842Z" + "fetchedAt": "2026-05-26T13:50:28.045Z", + "sponsored": true }, { "id": "13681beb5db7", @@ -3843,22 +5605,7 @@ "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/GettyImages-2194614711-1152x648.jpg", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.120Z" - }, - { - "id": "bbec1b4a9d0c", - "title": "Precision Container Security with Docker and Black Duck", - "link": "https://www.docker.com/blog/precision-container-security-with-docker-and-black-duck/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-05-05T08:00:00.000Z", - "summary": "The complexity of modern containerized applications often leaves developers drowning in a sea of “noise”—vulnerabilities that exist in the file system but pose zero actual risk to the application. The integra…", - "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2025/03/image.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.842Z" + "fetchedAt": "2026-05-26T13:50:27.375Z" }, { "id": "9f7f31d7b359", @@ -3873,52 +5620,7 @@ "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vwduhmrqbq1j2ypwelyc.jpg", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.255Z" - }, - { - "id": "77007b1a8683", - "title": "Introducing HCP Terraform powered by Infragraph - now in public preview", - "link": "https://www.hashicorp.com/blog/introducing-hcp-terraform-powered-by-infragraph-in-public-preview", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-04T18:45:00.000Z", - "summary": "Migrating to the cloud was supposed to make infrastructure easier to provision and manage. For many enterprises, the reality is more complicated. New pain points emerged that undermine the cloud’s speed, security, and sc…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.138Z" - }, - { - "id": "7d201a7a3e27", - "title": "Kubernetes v1.36: Admission Policies That Can't Be Deleted", - "link": "https://kubernetes.io/blog/2026/05/04/kubernetes-v1-36-manifest-based-admission-control/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-04T18:35:00.000Z", - "summary": "If you've ever tried to enforce a security policy across a fleet of Kubernetes clusters, you've probably run into a frustrating chicken-and-egg problem. Your admission policies are API objects, which means they don't exi…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.067Z" - }, - { - "id": "9a9bae169cce", - "title": "IEEE Smart Village Is Helping to Electrify Rural Cameroon", - "link": "https://spectrum.ieee.org/ieee-smart-village-rei-cameroon", - "source": "IEEE Spectrum", - "sourceId": "ieee-spectrum", - "category": "General", - "publishedAt": "2026-05-04T18:00:01.000Z", - "summary": "More than 30 years ago, in the mountain village of Mbem in northwest Cameroon, the moon and stars in the night sky were the only light young Jude Numfor knew after the sunset. Electricity had not yet reached his rural co…", - "summaryType": "snippet", - "image": "https://spectrum.ieee.org/media-library/men-in-hard-hats-posing-together-at-a-miniature-solar-farm-amongst-a-dense-jungle-environment.jpg?id=66678170&width=1245&height=700&coordinates=0%2C62%2C0%2C63", - "fallbackImage": "/assets/fallbacks/general.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.847Z" + "fetchedAt": "2026-05-26T13:50:30.017Z" }, { "id": "98a03c0003dd", @@ -3933,22 +5635,7 @@ "image": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/gamestop-store-1152x648-1777915631.jpg", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.120Z" - }, - { - "id": "4e60ba9595b8", - "title": "The latest AI news we announced in April 2026", - "link": "https://blog.google/innovation-and-ai/technology/ai/google-ai-updates-april-2026/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-05-04T17:00:00.000Z", - "summary": "Here are Google’s latest AI updates from April 2026", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/April_2026_AI_Recap_still.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" + "fetchedAt": "2026-05-26T13:50:27.375Z" }, { "id": "0fb752aadb07", @@ -3963,37 +5650,7 @@ "image": "https://cdn-images-1.medium.com/max/1024/1*RQuXyzwooTZcUZ5rCejOug.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.896Z" - }, - { - "id": "3f5239165dd4", - "title": "Reduce friction and latency for long-running jobs with Webhooks in Gemini API", - "link": "https://blog.google/innovation-and-ai/technology/developers-tools/event-driven-webhooks/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-05-04T15:30:00.000Z", - "summary": "Event-Driven Webhooks are a push-based notification system that eliminates the need for inefficient polling.", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/WebhooksGeminiAPI-hero.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "716945441e35", - "title": "Mitigate credential exposure in Windows environments with Boundary and Vault", - "link": "https://www.hashicorp.com/blog/mitigate-credential-exposure-in-windows-environments-with-boundary-and-vault", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-04T07:09:00.000Z", - "summary": "This blog addresses the remote access and security challenges that still plague many organizations with Windows environments, specifically issues with static credentials and overly broad network access. We will then focu…", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1777657519-boundary-blog-1.jpg", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.139Z" + "fetchedAt": "2026-05-26T13:50:30.525Z" }, { "id": "e8e432ff41cd", @@ -4008,7 +5665,7 @@ "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.306Z" + "fetchedAt": "2026-05-26T13:50:28.691Z" }, { "id": "70dd3b18f52c", @@ -4023,7 +5680,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/27Qu0u1iTXZ6MNI4GabAWs/b47737d63334808155e7dd8148818e06/3278-chart.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.996Z" + "fetchedAt": "2026-05-26T13:50:29.532Z" }, { "id": "91dce10c74e1", @@ -4038,37 +5695,8 @@ "image": "https://cdn-images-1.medium.com/max/804/1*V0IaBLQSyADbjdnlhRDJdA.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.896Z" - }, - { - "id": "414a7d69ce81", - "title": "Ubuntu infrastructure has been down for more than a day", - "link": "https://arstechnica.com/security/2026/05/ubuntu-infrastructure-has-been-down-for-more-than-a-day/", - "source": "Ars Technica", - "sourceId": "ars-technica", - "category": "Security", - "publishedAt": "2026-05-01T19:12:26.000Z", - "summary": "Servers operated by Ubuntu and its parent company Canonical were knocked offline on Thursday morning and have remained down ever since, a situation that’s preventing the OS provider from communicating normally following …", - "summaryType": "snippet", - "image": "https://cdn.arstechnica.net/wp-content/uploads/2022/11/error-503-1000x648.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.121Z" - }, - { - "id": "10727ecea640", - "title": "Kubernetes v1.36: Pod-Level Resource Managers (Alpha)", - "link": "https://kubernetes.io/blog/2026/05/01/kubernetes-v1-36-feature-pod-level-resource-managers-alpha/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-05-01T18:35:00.000Z", - "summary": "Kubernetes v1.36 introduces Pod-Level Resource Managers as an alpha feature, bringing a more flexible and powerful resource management model to performance-sensitive workloads. This enhancement extends the kubelet's Topo…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.067Z" + "fetchedAt": "2026-05-26T13:50:30.526Z", + "sponsored": true }, { "id": "1e471860e236", @@ -4083,37 +5711,7 @@ "image": "https://engineering.fb.com/wp-content/uploads/2026/05/Over-the-Air-Fleet-Key-Distribution.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.746Z" - }, - { - "id": "6201cae055d9", - "title": "How Vault Secrets Operator (VSO) automates secret management for enterprises on Kubernetes", - "link": "https://www.hashicorp.com/blog/how-vault-secrets-operator-vso-automates-secret-management-for-enterprises-on-kub", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-05-01T16:00:00.000Z", - "summary": "Platform teams managing Kubernetes often discover that there’s a massive security gap and struggle to reliably and efficiently manage security controls for secrets when scaling their environments without slowing down dev…", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1776911766-vso.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.139Z" - }, - { - "id": "23b540d9cc31", - "title": "A Virtual Agent team at Docker: How the Coding Agent Sandboxes team uses a fleet of agents to ship faster", - "link": "https://www.docker.com/blog/a-virtual-agent-team-at-docker-how-the-coding-agent-sandboxes-team-uses-a-fleet-of-agents-to-ship-faster/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-05-01T13:00:00.000Z", - "summary": "I work on Coding Agent Sandboxes, aka “sbx” at Docker. The project provides secure, microVM-based isolation for running AI coding agents like Claude Code, Gemini, Codex, Docker Agent and Kiro. Agents get full autonomy in…", - "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2026/04/image1.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.842Z" + "fetchedAt": "2026-05-26T13:50:29.057Z" }, { "id": "83c1f6260a3a", @@ -4128,7 +5726,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3D8fGfZalW4N4h7QngR8tN/59ef281c194cfcba12ea6cfb6ec240d7/image2.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.996Z" + "fetchedAt": "2026-05-26T13:50:29.533Z" }, { "id": "863dd43ffe1a", @@ -4143,7 +5741,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:13.587Z" + "fetchedAt": "2026-05-26T13:50:27.975Z", + "sponsored": true }, { "id": "a0752d67c2b1", @@ -4158,112 +5757,38 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202603/mit-shass-Olivia-Honeycutt.jpg?itok=kUUeKYli", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.588Z" - }, - { - "id": "844d527b30ee", - "title": "Three new Go proposals", - "link": "https://golangweekly.com/issues/599", - "source": "Go Weekly", - "sourceId": "go-weekly", - "category": "Go", - "publishedAt": "2026-05-01T00:00:00.000Z", - "summary": "#​599 — May 1, 2026 Read the Web Version Go Weekly Zero-Config Go Heap Profiling — Go’s runtime samples heap allocations automatically, but the linker disables this in apps that don’t import runtime/pprof or net/http/ppr…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/go.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.804Z" + "fetchedAt": "2026-05-26T13:50:27.975Z", + "sponsored": true }, { "id": "0c31d8b1c913", "title": "Raising the baseline for the `nvptx64-nvidia-cuda` target", "link": "https://blog.rust-lang.org/2026/05/01/nvptx-baseline-update/", "source": "Rust Blog", - "sourceId": "rust-blog", - "category": "Rust", - "publishedAt": "2026-05-01T00:00:00.000Z", - "summary": "The nvptx64-nvidia-cuda target is a compilation target for NVIDIA GPUs. When using this target, the final output is PTX . Two version choices shape that output: a GPU architecture (for example, sm_70 , sm_80 , …), which …", - "summaryType": "snippet", - "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", - "fallbackImage": "/assets/fallbacks/rust.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.307Z" - }, - { - "id": "3ceb02e82d80", - "title": "The most severe Linux threat to surface in years catches the world flat-footed", - "link": "https://arstechnica.com/security/2026/04/as-the-most-severe-linux-threat-in-years-surfaces-the-world-scrambles/", - "source": "Ars Technica", - "sourceId": "ars-technica", - "category": "Security", - "publishedAt": "2026-04-30T20:20:48.000Z", - "summary": "Publicly released exploit code for an effectively unpatched vulnerability that gives root access to virtually all releases of Linux is setting off alarm bells as defenders scramble to ward off severe compromises inside d…", - "summaryType": "snippet", - "image": "https://cdn.arstechnica.net/wp-content/uploads/2023/09/code-vulnerability-security-1000x648.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.121Z" - }, - { - "id": "2fef04c4d7fe", - "title": "Amazon Q Developer end-of-support announcement", - "link": "https://aws.amazon.com/blogs/devops/amazon-q-developer-end-of-support-announcement/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-04-30T20:16:02.000Z", - "summary": "When we launched Amazon Q Developer, our goal was to bring AI assistance directly into the developer workflow. Customers adopted Q Developer across VS Code, JetBrains, Eclipse, and Visual Studio, using it for code genera…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/04/30/Amazon-Q-Developer-end-of-support-announcement-1120x630.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.211Z" - }, - { - "id": "ec7d616d4152", - "title": "Kubernetes v1.36: In-Place Vertical Scaling for Pod-Level Resources Graduates to Beta", - "link": "https://kubernetes.io/blog/2026/04/30/kubernetes-v1-36-inplace-pod-level-resources-beta/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-04-30T18:35:00.000Z", - "summary": "Following the graduation of Pod-Level Resources to Beta in v1.34 and the General Availability (GA) of In-Place Pod Vertical Scaling in v1.35, the Kubernetes community is thrilled to announce that In-Place Pod-Level Resou…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.068Z" - }, - { - "id": "f7c5a26143dc", - "title": "SPIFFE: Securing the identity of agentic AI and non-human actors", - "link": "https://www.hashicorp.com/blog/spiffe-securing-the-identity-of-agentic-ai-and-non-human-actors", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-04-30T16:00:00.000Z", - "summary": "As artificial intelligence systems become increasingly autonomous and agentic, ensuring their identity and trustworthiness becomes a critical challenge. Traditional identity frameworks built around human users and static…", + "sourceId": "rust-blog", + "category": "Rust", + "publishedAt": "2026-05-01T00:00:00.000Z", + "summary": "The nvptx64-nvidia-cuda target is a compilation target for NVIDIA GPUs. When using this target, the final output is PTX . Two version choices shape that output: a GPU architecture (for example, sm_70 , sm_80 , …), which …", "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1776902815-spiffe-auth.png", - "fallbackImage": "/assets/fallbacks/devops.svg", + "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", + "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.140Z" + "fetchedAt": "2026-05-26T13:50:28.691Z" }, { - "id": "6127acd9f745", - "title": "From Security Blocked to Prod Ready: ClickHouse on Docker Hardened Images", - "link": "https://www.docker.com/blog/from-security-blocked-to-prod-ready-clickhouse-on-docker-hardened-images/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-04-30T15:55:07.000Z", - "summary": "In November 2025, a team self-hosting Langfuse , an open-source LLM observability platform, on Kubernetes uploaded their ClickHouse image to AWS ECR as part of their production preparation. They found that the pipeline s…", + "id": "844d527b30ee", + "title": "Three new Go proposals", + "link": "https://golangweekly.com/issues/599", + "source": "Go Weekly", + "sourceId": "go-weekly", + "category": "Go", + "publishedAt": "2026-05-01T00:00:00.000Z", + "summary": "#​599 — May 1, 2026 Read the Web Version Go Weekly Zero-Config Go Heap Profiling — Go’s runtime samples heap allocations automatically, but the linker disables this in apps that don’t import runtime/pprof or net/http/ppr…", "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2026/04/image1-1.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.843Z" + "image": null, + "fallbackImage": "/assets/fallbacks/go.svg", + "imageType": "fallback", + "fetchedAt": "2026-05-26T13:50:29.074Z" }, { "id": "7658a178c379", @@ -4278,7 +5803,7 @@ "image": "https://krebsonsecurity.com/wp-content/uploads/2026/04/tpllink-ax21.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.528Z" + "fetchedAt": "2026-05-26T13:50:27.720Z" }, { "id": "ebe098dac02d", @@ -4293,7 +5818,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1y7QgyWMG5xGTtYGcwyqTX/48b625d0178c746dbdfba70ee1d2e259/image1.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.996Z" + "fetchedAt": "2026-05-26T13:50:29.533Z" }, { "id": "276d2f41fc03", @@ -4308,37 +5833,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5Y4grvxbS3wPfLYOGPV0PE/230d2f439ff9ea8cc75fe6cde9469792/image8.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.997Z" - }, - { - "id": "a133dee771dd", - "title": "Announcing the new Partner Premier tier for the Terraform Registry", - "link": "https://www.hashicorp.com/blog/announcing-the-new-partner-premier-tier-for-the-terraform-registry", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-04-30T07:09:00.000Z", - "summary": "Building on the success of the Partner tag (originally introduced in our Terraform Partner Integration Program in 2022), we are excited to announce the launch of a new premier status on the Terraform Registry: the Partne…", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1776887342-partner_premier.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.140Z" - }, - { - "id": "62277c8c45d6", - "title": "Securing the last mile with local account password rotation", - "link": "https://www.hashicorp.com/blog/securing-the-last-mile-with-local-account-password-rotation", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-04-30T07:09:00.000Z", - "summary": "In the modern enterprise, identity is the new perimeter. Organizations have invested heavily in centralizing identity through LDAP, Active Directory, and Cloud IdPs. However, a persistent security gap remains at the \"las…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.140Z" + "fetchedAt": "2026-05-26T13:50:29.534Z" }, { "id": "d2ed81eea35f", @@ -4353,22 +5848,7 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/Sally%20Slate.png?itok=regQZ1nq", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.588Z" - }, - { - "id": "e789a424ef41", - "title": "pnpm 11.0, AVA 8.0, and a Node 26 delay", - "link": "https://nodeweekly.com/issues/622", - "source": "Node Weekly", - "sourceId": "node-weekly", - "category": "JavaScript", - "publishedAt": "2026-04-30T00:00:00.000Z", - "summary": "#​622 — April 30, 2026 Read on the Web What’s Actually New in JavaScript (And What’s Coming Next) — If you don’t read the specs or endless posts about new language features, this is a great way to catch up. Most of the f…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/javascript.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:15.258Z" + "fetchedAt": "2026-05-26T13:50:27.975Z" }, { "id": "a5000b30d8f7", @@ -4383,7 +5863,22 @@ "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.307Z" + "fetchedAt": "2026-05-26T13:50:28.692Z" + }, + { + "id": "e789a424ef41", + "title": "pnpm 11.0, AVA 8.0, and a Node 26 delay", + "link": "https://nodeweekly.com/issues/622", + "source": "Node Weekly", + "sourceId": "node-weekly", + "category": "JavaScript", + "publishedAt": "2026-04-30T00:00:00.000Z", + "summary": "#​622 — April 30, 2026 Read on the Web What’s Actually New in JavaScript (And What’s Coming Next) — If you don’t read the specs or endless posts about new language features, this is a great way to catch up. Most of the f…", + "summaryType": "snippet", + "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pfbdgnfzrmsntuiya6mi.jpg", + "fallbackImage": "/assets/fallbacks/javascript.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:30.022Z" }, { "id": "23debd91bcd7", @@ -4398,37 +5893,7 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/mit-jameel-clinic-WRING-bias.jpg?itok=XH5m_j1t", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.588Z" - }, - { - "id": "970cb833f30c", - "title": "Secure SSH access at scale with HashiCorp Vault and Boundary", - "link": "https://www.hashicorp.com/blog/secure-ssh-access-at-scale-with-hashicorp-vault-and-boundary", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-04-29T19:00:00.000Z", - "summary": "Overview This post updates the earlier approach to managing SSH access with HashiCorp Vault. It also introduces HashiCorp Boundary integration with HashiCorp Vault for passwordless access using just-in-time SSH credentia…", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1776998437-changes-since-vault-1-13.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.141Z" - }, - { - "id": "81cc9def069d", - "title": "Kubernetes v1.36: Tiered Memory Protection with Memory QoS", - "link": "https://kubernetes.io/blog/2026/04/29/kubernetes-v1-36-memory-qos-tiered-protection/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-04-29T18:35:00.000Z", - "summary": "On behalf of SIG Node, we are pleased to announce updates to the Memory QoS feature (alpha) in Kubernetes v1.36. Memory QoS uses the cgroup v2 memory controller to give the kernel better guidance on how to treat containe…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.068Z" + "fetchedAt": "2026-05-26T13:50:27.976Z" }, { "id": "a070f247baa1", @@ -4443,22 +5908,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.665Z" - }, - { - "id": "6ae6fef2e683", - "title": "Why a recent supply-chain attack singled out security firms Checkmarx and Bitwarden", - "link": "https://arstechnica.com/information-technology/2026/04/why-a-recent-supply-chain-attack-singled-out-security-firms-checkmarx-and-bitwarden/", - "source": "Ars Technica", - "sourceId": "ars-technica", - "category": "Security", - "publishedAt": "2026-04-29T11:00:24.000Z", - "summary": "It has been a bad six weeks for security firm Checkmarx. Over the past 40 days, it has been the victim of at least one supply-chain attack that delivered malware to customers on two separate occasions. Now it has been hi…", - "summaryType": "snippet", - "image": "https://cdn.arstechnica.net/wp-content/uploads/2021/07/data-breach.jpeg", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.121Z" + "fetchedAt": "2026-05-26T13:50:29.016Z" }, { "id": "f9d57308445a", @@ -4473,7 +5923,7 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/mit-dome-00_0.png?itok=O8BlHhll", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.588Z" + "fetchedAt": "2026-05-26T13:50:27.976Z" }, { "id": "b1e505ceb382", @@ -4488,7 +5938,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.499Z" + "fetchedAt": "2026-05-26T13:50:28.865Z", + "sponsored": true }, { "id": "9ea2870941c9", @@ -4503,52 +5954,8 @@ "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/MIT-Federated-Constrained-01-press.jpg?itok=ILr4mnWw", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.589Z" - }, - { - "id": "f01fbeb8ec6e", - "title": "Kubernetes v1.36: Staleness Mitigation and Observability for Controllers", - "link": "https://kubernetes.io/blog/2026/04/28/kubernetes-v1-36-staleness-mitigation-for-controllers/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-04-28T18:35:00.000Z", - "summary": "Staleness in Kubernetes controllers is a problem that affects many controllers, and is something may affect controller behavior in subtle ways. It is usually not until it is too late, when a controller in production has …", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.068Z" - }, - { - "id": "f98304eba2d0", - "title": "Celebrating 20 years of Google Translate: Fun facts, tips and new features to try", - "link": "https://blog.google/products-and-platforms/products/translate/fun-facts-google-translate-20-years/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-28T16:00:00.000Z", - "summary": "Google’s sharing 20 fun facts to celebrate Google Translate turning 20, from its roots as a 2006 AI experiment to supporting almost 250 languages today.", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Google_Translate_20th_hero_NC8a.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "bdb02333002d", - "title": "Turning secret detection into measurable risk reduction", - "link": "https://www.hashicorp.com/blog/turning-secret-detection-into-measurable-risk-reduction", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-04-28T16:00:00.000Z", - "summary": "Detection surfaces secret sprawl across code repositories, collaboration tools, and cloud environments. But discovery alone does not reduce risk. Once a secret is exposed, the real challenge is understanding its relevanc…", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1777314402-image-4.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.141Z" + "fetchedAt": "2026-05-26T13:50:27.976Z", + "sponsored": true }, { "id": "7de8a58cb09c", @@ -4563,7 +5970,8 @@ "image": "https://martinfowler.com/articles/structured-prompt-driven/card.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.665Z" + "fetchedAt": "2026-05-26T13:50:29.016Z", + "sponsored": true }, { "id": "49d5b59f582c", @@ -4578,7 +5986,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2TEPNHOzIpS8ZkZUIoT656/11c5706fd99116065f7f566d4e6f5876/Shutdowns__power_outages__and_conflict-_a_review_of_Q1_2026_Internet_disruptions-OG.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.998Z" + "fetchedAt": "2026-05-26T13:50:29.535Z" }, { "id": "c90c007e15d8", @@ -4593,37 +6001,7 @@ "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/u8nht4cick80vtcnu9pf.jpg", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.255Z" - }, - { - "id": "d7cad135ef6e", - "title": "Open source package with 1 million monthly downloads stole user credentials", - "link": "https://arstechnica.com/security/2026/04/open-source-package-with-1-million-monthly-downloads-stole-user-credentials/", - "source": "Ars Technica", - "sourceId": "ars-technica", - "category": "Security", - "publishedAt": "2026-04-27T21:04:03.000Z", - "summary": "Open source software with more than 1 million monthly downloads was compromised after a threat actor exploited a vulnerability in the developers’ account workflow that gave access to its signing keys and other sensitive …", - "summaryType": "snippet", - "image": "https://cdn.arstechnica.net/wp-content/uploads/2025/06/browser-security-threat-1152x627.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.121Z" - }, - { - "id": "d9b3d283011d", - "title": "Kubernetes v1.36: Mutable Pod Resources for Suspended Jobs (beta)", - "link": "https://kubernetes.io/blog/2026/04/27/kubernetes-v1-36-mutable-pod-resources-for-suspended-jobs/", - "source": "Kubernetes Blog", - "sourceId": "kubernetes-blog", - "category": "DevOps", - "publishedAt": "2026-04-27T18:35:00.000Z", - "summary": "Kubernetes v1.36 promotes the ability to modify container resource requests and limits in the pod template of a suspended Job to beta. First introduced as alpha in v1.35, this feature allows queue controllers and cluster…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.068Z" + "fetchedAt": "2026-05-26T13:50:30.018Z" }, { "id": "92907a968b35", @@ -4635,265 +6013,55 @@ "publishedAt": "2026-04-27T17:47:34.000Z", "summary": "Managing multiple Amazon Elastic Kubernetes Service (Amazon EKS) clusters for development and testing environments can present significant operational and cost challenges for enterprises. Deloitte, a global professional …", "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/27/archblog-1282.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.693Z" - }, - { - "id": "8a4b231f355d", - "title": "Join the new AI Agents Vibe Coding Course from Google and Kaggle", - "link": "https://blog.google/innovation-and-ai/technology/developers-tools/kaggle-genai-intensive-course-vibe-coding-june-2026/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-27T13:00:00.000Z", - "summary": "Google is bringing back its 5-Day AI Agents Intensive Course with Kaggle and registration is open.", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Vibe_Coding_Course_herosocial.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "9b0395871a4c", - "title": "AWS Transform custom: Enterprise Code Modernization with the Learn-Scale-Improve Flywheel", - "link": "https://aws.amazon.com/blogs/devops/aws-transform-custom-enterprise-code-modernization-with-the-learn-scale-improve-flywheel/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-04-27T04:49:32.000Z", - "summary": "Enterprise modernization has reached an inflection point. You can transform one repository easily. Existing tools, including AWS Transform custom, work well for individual repositories, and the process is understood. But…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/04/24/featured-image-aws-transform-custom.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.211Z" - }, - { - "id": "0c12c016ef1e", - "title": "A faster way to estimate AI power consumption", - "link": "https://news.mit.edu/2026/faster-way-to-estimate-ai-power-consumption-0427", - "source": "MIT AI News", - "sourceId": "mit-ai", - "category": "AI", - "publishedAt": "2026-04-27T04:00:00.000Z", - "summary": "Due to the explosive growth of artificial intelligence, it is estimated that data centers will consume up to 12 percent of total U.S. electricity by 2028 , according to the Lawrence Berkeley National Laboratory. Improvin…", - "summaryType": "snippet", - "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/MIT_Power-Estimation-01.jpg?itok=SOtY3I2x", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.589Z" - }, - { - "id": "08cec2384963", - "title": "Why are top university websites serving porn? It comes down to shoddy housekeeping.", - "link": "https://arstechnica.com/security/2026/04/why-are-top-university-websites-serving-porn-it-comes-down-to-shoddy-housekeeping/", - "source": "Ars Technica", - "sourceId": "ars-technica", - "category": "Security", - "publishedAt": "2026-04-24T19:00:39.000Z", - "summary": "Websites for some of the world’s most prestigious universities are serving explicit porn and malicious content after scammers exploited the shoddy record-keeping of the site administrators, a researcher found recently. T…", - "summaryType": "snippet", - "image": "https://cdn.arstechnica.net/wp-content/uploads/2023/07/GettyImages-1137650996-1152x648.jpg", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.122Z" - }, - { - "id": "ebab479a84ef", - "title": "8 Gemini tips for organizing your space (and life)", - "link": "https://blog.google/products-and-platforms/products/gemini/gemini-spring-cleaning-tips/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-24T19:00:00.000Z", - "summary": "Organize your home and digital space with Gemini. Use AI-powered tips for cleaning schedules, inbox decluttering, seasonal chores.", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Gemini_Spring_Cleaning_hero.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "44298595d321", - "title": "MIT scientists build the world’s largest collection of Olympiad-level math problems, and open it to everyone", - "link": "https://news.mit.edu/2026/mit-scientists-build-worlds-largest-collection-olympiad-level-math-problems-open-0424", - "source": "MIT AI News", - "sourceId": "mit-ai", - "category": "AI", - "publishedAt": "2026-04-24T17:00:00.000Z", - "summary": "Every year, the countries competing in the International Mathematical Olympiad (IMO) arrive with a booklet of their best, most original problems. Those booklets get shared among delegations, then quietly disappear. No on…", - "summaryType": "snippet", - "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/MIT-MathNet.jpg?itok=-PPhyeth", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.589Z" - }, - { - "id": "167e32413c60", - "title": "Scaling Camera File Processing at Netflix", - "link": "https://netflixtechblog.com/scaling-camera-file-processing-at-netflix-6dab2b1e80be?source=rss----2615bd06b42e---4", - "source": "Netflix Tech Blog", - "sourceId": "netflix-tech-blog", - "category": "Architecture", - "publishedAt": "2026-04-24T15:06:01.000Z", - "summary": "Orchestrating Media Workflows Through Strategic Collaboration Authors: Eric Reinecke , Bhanu Srikanth Introduction to Content Hub’s Media Production Suite At Netflix, we want to provide filmmakers with the tools they nee…", - "summaryType": "snippet", - "image": "https://cdn-images-1.medium.com/max/1024/1*OYBDXSUJ6D0tVXVGO3w5TQ.jpeg", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.897Z" - }, - { - "id": "37cc1fa56938", - "title": "TinyGo can now compile the TypeScript compiler", - "link": "https://golangweekly.com/issues/598", - "source": "Go Weekly", - "sourceId": "go-weekly", - "category": "Go", - "publishedAt": "2026-04-24T00:00:00.000Z", - "summary": "#​598 — April 24, 2026 Read the Web Version Go Weekly TinyGo 0.41: Go 1.26 Support, ESP32 Wireless, and More — A huge release for the “Go compiler for small places” ! Go 1.26 support arrives, along with wireless support …", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/go.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.804Z" - }, - { - "id": "9aea20e6b7e4", - "title": "In a first, a ransomware family is confirmed to be quantum-safe", - "link": "https://arstechnica.com/security/2026/04/now-even-ransomware-is-using-post-quantum-cryptography/", - "source": "Ars Technica", - "sourceId": "ars-technica", - "category": "AI", - "publishedAt": "2026-04-23T20:41:23.000Z", - "summary": "A relatively new ransomware family is using a novel approach to hype the strength of the encryption used to scramble files—making, or at least claiming, that it is protected against attacks by quantum computers. Kyber, a…", - "summaryType": "snippet", - "image": "https://cdn.arstechnica.net/wp-content/uploads/2025/07/GettyImages-1952157610-1152x648-1753386930.jpg", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.122Z" - }, - { - "id": "35e9fb2555b9", - "title": "Trivy, KICS, and the shape of supply chain attacks so far in 2026", - "link": "https://www.docker.com/blog/trivy-kics-and-the-shape-of-supply-chain-attacks-so-far-in-2026/", - "source": "Docker Blog", - "sourceId": "docker-blog", - "category": "DevOps", - "publishedAt": "2026-04-23T15:32:00.000Z", - "summary": "Catching the KICS push: what happened, and the case for open, fast collaboration In the past few weeks we’ve worked through two supply chain compromises on Docker Hub with a similar shape: first Trivy, now Checkmar…", - "summaryType": "snippet", - "image": "https://www.docker.com/app/uploads/2025/03/image.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.843Z" - }, - { - "id": "f6bacdce8151", - "title": "Modernizing KYC with AWS serverless solutions and agentic AI for financial services", - "link": "https://aws.amazon.com/blogs/architecture/modernizing-kyc-with-aws-serverless-solutions-and-agentic-ai-for-financial-services/", - "source": "AWS Architecture Blog", - "sourceId": "aws-arch-blog", - "category": "Architecture", - "publishedAt": "2026-04-23T13:20:43.000Z", - "summary": "Regulators worldwide require financial institutions to implement Know Your Customer (KYC) processes that help prevent money laundering, terrorist financing, fraud, and identity theft. KYC has evolved from a compliance ch…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/23/kyc-arch.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.693Z" - }, - { - "id": "ea9543e1b118", - "title": "Here’s how our TPUs power increasingly demanding AI workloads.", - "link": "https://blog.google/innovation-and-ai/infrastructure-and-cloud/google-cloud/what-is-a-tpu/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-23T12:00:00.000Z", - "summary": "Learn how Google’s TPUs power increasingly demanding AI workloads with this new video.", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/What_is_a_TPU_social.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "1539442f8f9c", - "title": "Elevating Austria: Google invests in its first data center in the Alps.", - "link": "https://blog.google/innovation-and-ai/infrastructure-and-cloud/global-network/google-data-center-austria/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-23T09:00:00.000Z", - "summary": "Google has been a proud part of Austria’s landscape for years, and today, we’re announcing our first data center in Kronstorf, generating 100 direct jobs. This facility …", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Google_Kronstorf_Data_Center_1.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "0c6a9fdd03d6", - "title": "Bridging the trust gap: Unified public CA orchestration with IBM Vault", - "link": "https://www.hashicorp.com/blog/bridging-the-trust-gap-unified-public-ca-orchestration-with-ibm-vault", - "source": "HashiCorp Blog", - "sourceId": "hashicorp-blog", - "category": "DevOps", - "publishedAt": "2026-04-23T07:09:00.000Z", - "summary": "In modern enterprises, security is only as strong as its weakest link. For most organizations, that link is often the manual, fragmented process of managing X.509 certificates. While HashiCorp Vault (now IBM Vault) has l…", - "summaryType": "snippet", - "image": "https://www.datocms-assets.com/2885/1776910108-public-ca-csr-workflow.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.141Z" - }, - { - "id": "108e134ed8ac", - "title": "Playwright's exciting new page.screencast API", - "link": "https://nodeweekly.com/issues/621", - "source": "Node Weekly", - "sourceId": "node-weekly", - "category": "JavaScript", - "publishedAt": "2026-04-23T00:00:00.000Z", - "summary": "#​621 — April 23, 2026 Read on the Web 🎥 Playwright has added a new feature I thought was neat, so I've written a bit about it at the end of this issue – check it out! __ Peter Cooper, your editor aube: A New Node.js Pa…", - "summaryType": "snippet", - "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ebnru5mx0iiqlp0qmorn.jpg", - "fallbackImage": "/assets/fallbacks/javascript.svg", + "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/27/archblog-1282.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.258Z" + "fetchedAt": "2026-05-26T13:50:29.033Z" }, { - "id": "e3d70b5606ee", - "title": "Teaching AI models to say “I’m not sure”", - "link": "https://news.mit.edu/2026/teaching-ai-models-to-say-im-not-sure-0422", + "id": "0c12c016ef1e", + "title": "A faster way to estimate AI power consumption", + "link": "https://news.mit.edu/2026/faster-way-to-estimate-ai-power-consumption-0427", "source": "MIT AI News", "sourceId": "mit-ai", "category": "AI", - "publishedAt": "2026-04-22T19:15:00.000Z", - "summary": "Confidence is persuasive. In artificial intelligence systems, it is often misleading. Today's most capable reasoning models share a trait with the loudest voice in the room: They deliver every answer with the same unshak…", + "publishedAt": "2026-04-27T04:00:00.000Z", + "summary": "Due to the explosive growth of artificial intelligence, it is estimated that data centers will consume up to 12 percent of total U.S. electricity by 2028 , according to the Lawrence Berkeley National Laboratory. Improvin…", "summaryType": "snippet", - "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/mit-csail-reinforcement.jpg?itok=7eH81sq-", + "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/MIT_Power-Estimation-01.jpg?itok=SOtY3I2x", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.589Z" + "fetchedAt": "2026-05-26T13:50:27.976Z" }, { - "id": "ba959beda0df", - "title": "Automating Incident Investigation with AWS DevOps Agent and Salesforce MCP Server", - "link": "https://aws.amazon.com/blogs/devops/automating-incident-investigation-with-aws-devops-agent-and-salesforce-mcp-server/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-04-22T17:03:51.000Z", - "summary": "This post was co-written with Ross Belmont, Senior Director, Rodrigo Duran, Strategist Director at Salesforce Every minute counts when managing a critical infrastructure incident. Organizations need to quickly identify i…", + "id": "167e32413c60", + "title": "Scaling Camera File Processing at Netflix", + "link": "https://netflixtechblog.com/scaling-camera-file-processing-at-netflix-6dab2b1e80be?source=rss----2615bd06b42e---4", + "source": "Netflix Tech Blog", + "sourceId": "netflix-tech-blog", + "category": "Architecture", + "publishedAt": "2026-04-24T15:06:01.000Z", + "summary": "Orchestrating Media Workflows Through Strategic Collaboration Authors: Eric Reinecke , Bhanu Srikanth Introduction to Content Hub’s Media Production Suite At Netflix, we want to provide filmmakers with the tools they nee…", "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/04/09/featured-image-devops-salesforce-blog.png", - "fallbackImage": "/assets/fallbacks/devops.svg", + "image": "https://cdn-images-1.medium.com/max/1024/1*OYBDXSUJ6D0tVXVGO3w5TQ.jpeg", + "fallbackImage": "/assets/fallbacks/architecture.svg", + "imageType": "real", + "fetchedAt": "2026-05-26T13:50:30.527Z" + }, + { + "id": "f6bacdce8151", + "title": "Modernizing KYC with AWS serverless solutions and agentic AI for financial services", + "link": "https://aws.amazon.com/blogs/architecture/modernizing-kyc-with-aws-serverless-solutions-and-agentic-ai-for-financial-services/", + "source": "AWS Architecture Blog", + "sourceId": "aws-arch-blog", + "category": "Architecture", + "publishedAt": "2026-04-23T13:20:43.000Z", + "summary": "Regulators worldwide require financial institutions to implement Know Your Customer (KYC) processes that help prevent money laundering, terrorist financing, fraud, and identity theft. KYC has evolved from a compliance ch…", + "summaryType": "snippet", + "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/23/kyc-arch.png", + "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.212Z" + "fetchedAt": "2026-05-26T13:50:29.034Z" }, { "id": "de6891cba849", @@ -4908,7 +6076,7 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/15/ARCHBLOG-1358-1-802x630.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.694Z" + "fetchedAt": "2026-05-26T13:50:29.034Z" }, { "id": "374b8044805f", @@ -4923,37 +6091,7 @@ "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/dUUIMZewVzkYfRaVqwGRb/1e892ef7090127e5a781fa564942d3a3/Making_Rust_Workers_reliable-_panic_and_abort_recovery_in_wasm%C3%A2__bindgen-OG.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.999Z" - }, - { - "id": "93a049d060bc", - "title": "We're launching two specialized TPUs for the agentic era.", - "link": "https://blog.google/innovation-and-ai/infrastructure-and-cloud/google-cloud/tpus-8t-8i-cloud-next/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-22T12:00:00.000Z", - "summary": "The eighth generation of Google’s TPU includes two specialized chips that will power the future of AI.", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Were_launching_two_TPUs_social.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "49d0b818bbb8", - "title": "This Week in Rust 648", - "link": "https://this-week-in-rust.org/blog/2026/04/22/this-week-in-rust-648/", - "source": "This Week in Rust", - "sourceId": "this-week-rust", - "category": "Rust", - "publishedAt": "2026-04-22T04:00:00.000Z", - "summary": "Hello and welcome to another issue of This Week in Rust ! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want somethin…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/rust.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.500Z" + "fetchedAt": "2026-05-26T13:50:29.535Z" }, { "id": "6d93c50d1a79", @@ -4968,7 +6106,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.665Z" + "fetchedAt": "2026-05-26T13:50:29.016Z" }, { "id": "2d5acf04e90c", @@ -4983,7 +6121,7 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/21/archblog-12911-1-1260x479.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.694Z" + "fetchedAt": "2026-05-26T13:50:29.035Z" }, { "id": "88a00328ea0c", @@ -4998,7 +6136,7 @@ "image": "https://engineering.fb.com/wp-content/uploads/2026/04/Modernizing-FB-Groups-search-image-2.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.747Z" + "fetchedAt": "2026-05-26T13:50:29.057Z" }, { "id": "34f5f0d9fa9b", @@ -5013,67 +6151,7 @@ "image": "https://krebsonsecurity.com/wp-content/uploads/2026/04/dailymail-tylerb.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.528Z" - }, - { - "id": "97921ff38ae5", - "title": "3 new ways Ads Advisor is making Google Ads safer and faster", - "link": "https://blog.google/products/ads-commerce/ads-advisor-google-ads/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-21T14:30:00.000Z", - "summary": "Three new agentic safety and policy features integrated into Ads Advisor will help protect and streamline your Google Ads account.", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Road_to_GML_Master-Header.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "55b3c0e0711e", - "title": "Moving past bots vs. humans", - "link": "https://blog.cloudflare.com/past-bots-and-humans/", - "source": "Cloudflare Blog", - "sourceId": "cloudflare-blog", - "category": "Architecture", - "publishedAt": "2026-04-21T13:00:00.000Z", - "summary": "For us humans to interact with the online world, we need a gateway: keyboard, screen, browser, device. What is called \"human detection\" online are patterns that humans use when interacting with such devices. These patter…", - "summaryType": "snippet", - "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/61L0GkCvWVQl8TH2i2iwFp/899b2a1936aa7fbfaab45fca71d319d6/1.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.999Z" - }, - { - "id": "a10ea4a34931", - "title": "Create videos with HTML and JavaScript via HyperFrames", - "link": "https://javascriptweekly.com/issues/782", - "source": "JavaScript Weekly", - "sourceId": "js-weekly", - "category": "JavaScript", - "publishedAt": "2026-04-21T00:00:00.000Z", - "summary": "#​782 — April 21, 2026 Read on the Web JavaScript Weekly HyperFrames: Write HTML and JavaScript to Create Videos — An open-source framework for creating and rendering videos with HTML and JavaScript. Essentially a simple…", - "summaryType": "snippet", - "image": "https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/i3uvkia0thzscb525tjz.jpg", - "fallbackImage": "/assets/fallbacks/javascript.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.256Z" - }, - { - "id": "33ee7e19452d", - "title": "Building the agentic cloud: everything we launched during Agents Week 2026", - "link": "https://blog.cloudflare.com/agents-week-in-review/", - "source": "Cloudflare Blog", - "sourceId": "cloudflare-blog", - "category": "Architecture", - "publishedAt": "2026-04-20T13:00:00.000Z", - "summary": "Today marks the end of our first Agents Week, an innovation week dedicated entirely to the age of agents. It couldn’t have been more timely: over the past year, agents have swiftly changed how people work. Coding agents …", - "summaryType": "snippet", - "image": "https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6GiG5cEdgwoLU94AuUuLfS/f9022abc8ce823ef2468860474598b6f/BLOG-3239_2.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:15.000Z" + "fetchedAt": "2026-05-26T13:50:27.721Z" }, { "id": "805fe7c2824e", @@ -5088,52 +6166,7 @@ "image": "https://cdn-images-1.medium.com/max/1024/1*tibjLPNWGd0PP43Y8Idjag.jpeg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.897Z" - }, - { - "id": "0d7a887ebfbf", - "title": "7 ways to travel smarter this summer, with help from Google", - "link": "https://blog.google/products-and-platforms/products/search/summer-travel-tips-google-search-ai/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-17T14:00:00.000Z", - "summary": "The latest tools from Google can help you plan trips, find a great deal and explore your next destination.", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/Summer_Travel_Tips_2026_hero.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" - }, - { - "id": "ed5068156aab", - "title": "Jacob Andreas and Brett McGuire named Edgerton Award winners", - "link": "https://news.mit.edu/2026/jacob-andreas-brett-mcguire-edgerton-award-winners-0417", - "source": "MIT AI News", - "sourceId": "mit-ai", - "category": "AI", - "publishedAt": "2026-04-17T13:40:00.000Z", - "summary": "MIT Associate Professor Jacob Andreas of the Department of Electrical Engineering and Computer Science [EECS] and MIT Associate Professor Brett McGuire of the Department of Chemistry have been selected as the winners of …", - "summaryType": "snippet", - "image": "https://news.mit.edu/sites/default/files/styles/news_article__cover_image__original/public/images/202604/mit-Edgerton-Award-Brett-McGuire-Jacob-Andreas.jpg?itok=m8C4mGM-", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.590Z" - }, - { - "id": "7982e6a98006", - "title": "A new way to explore the web with AI Mode in Chrome", - "link": "https://blog.google/products-and-platforms/products/search/ai-mode-chrome/", - "source": "Google AI Blog", - "sourceId": "google-ai", - "category": "AI", - "publishedAt": "2026-04-16T17:00:00.000Z", - "summary": "Today’s upgrades for AI Mode in Chrome transform how you interact with the web", - "summaryType": "snippet", - "image": "https://storage.googleapis.com/gweb-uniblog-publish-prod/images/AI_Mode_in_Chrome_-_Blog_header.max-600x600.format-webp.webp", - "fallbackImage": "/assets/fallbacks/ai.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.890Z" + "fetchedAt": "2026-05-26T13:50:30.528Z" }, { "id": "4a587766c665", @@ -5148,7 +6181,7 @@ "image": "https://engineering.fb.com/wp-content/uploads/2026/04/Meta-Capacity-Efficiency-image-1.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.747Z" + "fetchedAt": "2026-05-26T13:50:29.058Z" }, { "id": "28dacfe675ad", @@ -5163,7 +6196,7 @@ "image": "https://engineering.fb.com/wp-content/uploads/2026/04/PQC-Readiness-Levels-Blues.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.748Z" + "fetchedAt": "2026-05-26T13:50:29.059Z" }, { "id": "4a22c0791047", @@ -5178,7 +6211,7 @@ "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.307Z" + "fetchedAt": "2026-05-26T13:50:28.692Z" }, { "id": "440970fb36b0", @@ -5193,7 +6226,8 @@ "image": "https://krebsonsecurity.com/wp-content/uploads/2021/07/windupate.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.529Z" + "fetchedAt": "2026-05-26T13:50:27.721Z", + "sponsored": true }, { "id": "f4cd2c4d5c32", @@ -5208,22 +6242,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.665Z" - }, - { - "id": "00879175fff0", - "title": "Troubleshooting environment with AI analysis in AWS Elastic Beanstalk", - "link": "https://aws.amazon.com/blogs/devops/troubleshooting-environment-with-ai-analysis-in-aws-elastic-beanstalk/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-04-13T18:55:00.000Z", - "summary": "Introduction AWS Elastic Beanstalk simplifies the process of deploying and scaling web applications. You upload your code, and Elastic Beanstalk handles capacity provisioning, load balancing, auto scaling, and applicatio…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/04/10/feature_bold-1121x630.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.213Z" + "fetchedAt": "2026-05-26T13:50:29.016Z" }, { "id": "ac0aa040c25c", @@ -5238,7 +6257,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.666Z" + "fetchedAt": "2026-05-26T13:50:29.016Z", + "sponsored": true }, { "id": "ad64c36a6150", @@ -5253,7 +6273,7 @@ "image": "https://cdn-images-1.medium.com/max/1024/1*A2j9Xni86SVnF_VyjFNwfw.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.898Z" + "fetchedAt": "2026-05-26T13:50:30.529Z" }, { "id": "02ea1b5a1592", @@ -5268,7 +6288,7 @@ "image": "https://engineering.fb.com/wp-content/uploads/2026/04/Meta-WebRTC-escaping-the-fork-image-4.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.749Z" + "fetchedAt": "2026-05-26T13:50:29.059Z" }, { "id": "0038e4032b10", @@ -5283,7 +6303,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.666Z" + "fetchedAt": "2026-05-26T13:50:29.017Z" }, { "id": "044729fd4498", @@ -5298,7 +6318,8 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/03/ARCHBLOG-1417-image-11-1094x630.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.695Z" + "fetchedAt": "2026-05-26T13:50:29.035Z", + "sponsored": true }, { "id": "683a3c79821a", @@ -5313,7 +6334,7 @@ "image": "https://engineering.fb.com/wp-content/uploads/2026/04/Meta-Tech-Podcast-episode-84-Configuration-Safety-at-Scale.webp", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.749Z" + "fetchedAt": "2026-05-26T13:50:29.060Z" }, { "id": "6a2011dc96ac", @@ -5328,7 +6349,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.666Z" + "fetchedAt": "2026-05-26T13:50:29.017Z", + "sponsored": true }, { "id": "70b6929e10c8", @@ -5343,7 +6365,7 @@ "image": "https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.248Z" }, { "id": "f4ae2ca794b7", @@ -5358,22 +6380,7 @@ "image": "https://krebsonsecurity.com/wp-content/uploads/2026/04/ms-dns-forestblizard.png", "fallbackImage": "/assets/fallbacks/security.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.529Z" - }, - { - "id": "3444e1d128fc", - "title": "Principles of Mechanical Sympathy", - "link": "https://martinfowler.com/articles/mechanical-sympathy-principles.html", - "source": "Martin Fowler", - "sourceId": "martin-fowler", - "category": "Architecture", - "publishedAt": "2026-04-07T13:39:00.000Z", - "summary": "Modern hardware is remarkably fast, but software often fails to leverage it. Caer Sanders has found it valuable to guide their work with mechanical sympathy - the practice of creating software that is sympathetic to its …", - "summaryType": "snippet", - "image": "https://martinfowler.com/articles/mechanical-sympathy-principles/card.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.666Z" + "fetchedAt": "2026-05-26T13:50:27.721Z" }, { "id": "7b73944b76a1", @@ -5388,7 +6395,7 @@ "image": "https://cdn-images-1.medium.com/max/1024/1*8bFAtFl8Z5pwEyoOgK54ag.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.898Z" + "fetchedAt": "2026-05-26T13:50:30.529Z" }, { "id": "404fe5f6770b", @@ -5403,22 +6410,7 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/04/06/archblog-1387-1120x630.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.695Z" - }, - { - "id": "a8697ca5f1d9", - "title": "Germany Doxes “UNKN,” Head of RU Ransomware Gangs REvil, GandCrab", - "link": "https://krebsonsecurity.com/2026/04/germany-doxes-unkn-head-of-ru-ransomware-gangs-revil-gandcrab/", - "source": "Krebs on Security", - "sourceId": "krebs-security", - "category": "Security", - "publishedAt": "2026-04-06T02:07:17.000Z", - "summary": "An elusive hacker who went by the handle “ UNKN ” and ran the early Russian ransomware groups GandCrab and REvil now has a name and a face. Authorities in Germany say 31-year-old Russian Daniil Maksimovich Sh…", - "summaryType": "snippet", - "image": "https://krebsonsecurity.com/wp-content/uploads/2026/04/shchukin-kravchuk.png", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.532Z" + "fetchedAt": "2026-05-26T13:50:29.036Z" }, { "id": "f2e8673b9d12", @@ -5433,7 +6425,7 @@ "image": "https://cdn-images-1.medium.com/max/1024/1*wVRT7XY4C9bzNHE-lk-ViA.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.899Z" + "fetchedAt": "2026-05-26T13:50:30.530Z" }, { "id": "243555cfff77", @@ -5448,7 +6440,7 @@ "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.307Z" + "fetchedAt": "2026-05-26T13:50:28.692Z" }, { "id": "90749f801f70", @@ -5463,22 +6455,7 @@ "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.308Z" - }, - { - "id": "095033bde9e7", - "title": "Streamlining Cloud Compliance at GoDaddy Using CDK Aspects", - "link": "https://aws.amazon.com/blogs/devops/streamlining-cloud-compliance-at-godaddy-using-cdk-aspects/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-04-03T18:06:03.000Z", - "summary": "This is a guest post written by Jasdeep Singh Bhalla from GoDaddy. AWS Cloud Development Kit (CDK) Aspects are a powerful mechanism that allows you to apply organization-wide policies, like security rules, tagging standa…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/04/03/featured-image-template-1120x630.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.213Z" + "fetchedAt": "2026-05-26T13:50:28.693Z" }, { "id": "faaafea23d08", @@ -5493,37 +6470,7 @@ "image": "https://cdn-images-1.medium.com/max/1024/1*_MoqLhu01wArcD1n58SZyg.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.899Z" - }, - { - "id": "e2bce7bd2de1", - "title": "Fragments: April 2", - "link": "https://martinfowler.com/fragments/2026-04-02.html", - "source": "Martin Fowler", - "sourceId": "martin-fowler", - "category": "Architecture", - "publishedAt": "2026-04-02T16:42:00.000Z", - "summary": "As we see LLMs churn out scads of code, folks have increasingly turned to Cognitive Debt as a metaphor for capturing how a team can lose understanding of what a system does. Margaret-Anne Storey thinks a good way of thin…", - "summaryType": "snippet", - "image": null, - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.666Z" - }, - { - "id": "c2a189e62664", - "title": "Harness engineering for coding agent users", - "link": "https://martinfowler.com/articles/harness-engineering.html", - "source": "Martin Fowler", - "sourceId": "martin-fowler", - "category": "Architecture", - "publishedAt": "2026-04-02T13:10:00.000Z", - "summary": "Last month Birgitta Böckeler wrote some initial thoughts about the recently developed notion of Harness Engineering. She's been researching and thinking more about this in the weeks since and has now written a thoug…", - "summaryType": "snippet", - "image": "https://martinfowler.com/articles/harness-engineering/card.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.666Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "91481e929074", @@ -5538,37 +6485,7 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/03/24/ML-ARCHBLOG-1344-image-3-1260x583.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.696Z" - }, - { - "id": "3eaf53f74dbf", - "title": "Securely connect AWS DevOps Agent to private services in your VPCs", - "link": "https://aws.amazon.com/blogs/devops/securely-connect-aws-devops-agent-to-private-services-in-your-vpcs/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-04-01T15:37:03.000Z", - "summary": "AWS DevOps Agent is your always-available operations teammate that resolves and proactively prevents incidents, optimizes application reliability and performance, and handles on-demand SRE tasks across AWS, multicloud, a…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/04/01/Securely-connect-AWS-DevOps-Agent-to-private-services-in-your-VPCs-1120x630.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.215Z" - }, - { - "id": "2cd0f9c897f5", - "title": "Leverage Agentic AI for Autonomous Incident Response with AWS DevOps Agent", - "link": "https://aws.amazon.com/blogs/devops/leverage-agentic-ai-for-autonomous-incident-response-with-aws-devops-agent/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-03-31T22:58:13.000Z", - "summary": "Introduction Teams running distributed workloads face a persistent operational challenge: when something breaks, the information needed to resolve it is scattered across logs, deployment pipelines, configuration historie…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/03/31/devops-agent-blog-featured-image-1122x630.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.215Z" + "fetchedAt": "2026-05-26T13:50:29.038Z" }, { "id": "1394c55d0bb1", @@ -5583,7 +6500,7 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/03/25/ARCHBLOG-1174-image-1.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.697Z" + "fetchedAt": "2026-05-26T13:50:29.038Z" }, { "id": "2aa023820e8a", @@ -5598,22 +6515,7 @@ "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/03/23/ARCHBLOG-1379-image-2-1120x630.jpeg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.697Z" - }, - { - "id": "2d4204ee299e", - "title": "Architecting for agentic AI development on AWS", - "link": "https://aws.amazon.com/blogs/architecture/architecting-for-agentic-ai-development-on-aws/", - "source": "AWS Architecture Blog", - "sourceId": "aws-arch-blog", - "category": "Architecture", - "publishedAt": "2026-03-26T17:29:57.000Z", - "summary": "If you’re architecting cloud systems for AI development on AWS, you’ve likely discovered that traditional architectures create friction for AI agents. Many cloud teams are experimenting with AI coding assistants but quic…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/03/17/ARCHBLOG-1295-1-1-1260x428.jpeg", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.697Z" + "fetchedAt": "2026-05-26T13:50:29.039Z" }, { "id": "66b9388ba7ae", @@ -5628,7 +6530,7 @@ "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", "fallbackImage": "/assets/fallbacks/rust.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.308Z" + "fetchedAt": "2026-05-26T13:50:28.693Z" }, { "id": "30c913da25ed", @@ -5643,127 +6545,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.615Z" - }, - { - "id": "7db7215f91f3", - "title": "How Generali Malaysia optimizes operations with Amazon EKS", - "link": "https://aws.amazon.com/blogs/architecture/how-generali-malaysia-optimizes-operations-with-amazon-eks/", - "source": "AWS Architecture Blog", - "sourceId": "aws-arch-blog", - "category": "Architecture", - "publishedAt": "2026-03-23T22:51:02.000Z", - "summary": "This post is co-authored with Ivan Amemoutou, DevOps and Cloud Lead at Generali Malaysia (“Generali”). The insurance industry’s shift to cloud computing has accelerated the development and expansion of digital services. …", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/03/23/archblo-1269-1120x630.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.698Z" - }, - { - "id": "d5d8869d9ecc", - "title": "‘CanisterWorm’ Springs Wiper Attack Targeting Iran", - "link": "https://krebsonsecurity.com/2026/03/canisterworm-springs-wiper-attack-targeting-iran/", - "source": "Krebs on Security", - "sourceId": "krebs-security", - "category": "Security", - "publishedAt": "2026-03-23T15:43:04.000Z", - "summary": "A financially motivated data theft and extortion group is attempting to inject itself into the Iran war, unleashing a worm that spreads through poorly secured cloud services and wipes data on infected systems that use Ir…", - "summaryType": "snippet", - "image": "https://krebsonsecurity.com/wp-content/uploads/2026/03/4paths1script.png", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.533Z" - }, - { - "id": "0bb8639f8068", - "title": "Security advisory for Cargo", - "link": "https://blog.rust-lang.org/2026/03/21/cve-2026-33056/", - "source": "Rust Blog", - "sourceId": "rust-blog", - "category": "Rust", - "publishedAt": "2026-03-21T00:00:00.000Z", - "summary": "The Rust Security Response Team was notified of a vulnerability in the third-party crate tar , used by Cargo to extract packages during a build. The vulnerability, tracked as CVE-2026-33056 , allows a malicious crate to …", - "summaryType": "snippet", - "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", - "fallbackImage": "/assets/fallbacks/rust.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.308Z" - }, - { - "id": "4c218981900d", - "title": "Feds Disrupt IoT Botnets Behind Huge DDoS Attacks", - "link": "https://krebsonsecurity.com/2026/03/feds-disrupt-iot-botnets-behind-huge-ddos-attacks/", - "source": "Krebs on Security", - "sourceId": "krebs-security", - "category": "Security", - "publishedAt": "2026-03-20T00:49:19.000Z", - "summary": "The U.S. Justice Department joined authorities in Canada and Germany in dismantling the online infrastructure behind four highly disruptive botnets that compromised more than three million Internet of Things (IoT) device…", - "summaryType": "snippet", - "image": "https://krebsonsecurity.com/wp-content/uploads/2026/01/ss-botnet.png", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.533Z" - }, - { - "id": "8618a11705aa", - "title": "What we heard about Rust's challenges", - "link": "https://blog.rust-lang.org/2026/03/20/rust-challenges/", - "source": "Rust Blog", - "sourceId": "rust-blog", - "category": "Rust", - "publishedAt": "2026-03-20T00:00:00.000Z", - "summary": "Author's note The original version of this article has been retracted. I used an LLM to write the first draft, though this had come after many hours of planning and going through the data and analyses to identify th…", - "summaryType": "snippet", - "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", - "fallbackImage": "/assets/fallbacks/rust.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.308Z" - }, - { - "id": "e525e1fde580", - "title": "AI-powered event response for Amazon EKS", - "link": "https://aws.amazon.com/blogs/architecture/ai-powered-event-response-for-amazon-eks/", - "source": "AWS Architecture Blog", - "sourceId": "aws-arch-blog", - "category": "Architecture", - "publishedAt": "2026-03-18T18:23:37.000Z", - "summary": "Cloud environments with dozens of microservices are now easier to manage than ever, and modern DevOps teams are well-equipped to balance rapid deployments with operational stability — even as monitoring tools surface tho…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2026/03/11/DevOps-Agent-854x630.png", - "fallbackImage": "/assets/fallbacks/architecture.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.699Z" - }, - { - "id": "03e64b317029", - "title": "Call for Testing: Build Dir Layout v2", - "link": "https://blog.rust-lang.org/2026/03/13/call-for-testing-build-dir-layout-v2/", - "source": "Rust Blog", - "sourceId": "rust-blog", - "category": "Rust", - "publishedAt": "2026-03-13T00:00:00.000Z", - "summary": "We would welcome people to try and report issues with the nightly-only cargo -Zbuild-dir-new-layout . While the layout of the build dir is internal-only, many projects need to rely on the unspecified details due to missi…", - "summaryType": "snippet", - "image": "https://www.rust-lang.org/static/images/rust-social-wide.jpg", - "fallbackImage": "/assets/fallbacks/rust.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.309Z" - }, - { - "id": "25c8e36273c8", - "title": "Iran-Backed Hackers Claim Wiper Attack on Medtech Firm Stryker", - "link": "https://krebsonsecurity.com/2026/03/iran-backed-hackers-claim-wiper-attack-on-medtech-firm-stryker/", - "source": "Krebs on Security", - "sourceId": "krebs-security", - "category": "Security", - "publishedAt": "2026-03-11T16:20:13.000Z", - "summary": "A hacktivist group with links to Iran’s intelligence agencies is claiming responsibility for a data-wiping attack against Stryker , a global medical technology company based in Michigan. News reports out of Ireland…", - "summaryType": "snippet", - "image": "https://krebsonsecurity.com/wp-content/uploads/2026/03/handala-stryker.png", - "fallbackImage": "/assets/fallbacks/security.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.533Z" + "fetchedAt": "2026-05-26T13:50:29.422Z" }, { "id": "de9b6db27f09", @@ -5778,7 +6560,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.616Z" + "fetchedAt": "2026-05-26T13:50:29.423Z" }, { "id": "1d2e8a4dfdb5", @@ -5793,22 +6575,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.899Z" - }, - { - "id": "0c7481dfb640", - "title": "Standardizing construct properties with AWS CDK Property Injection", - "link": "https://aws.amazon.com/blogs/devops/standardizing-construct-properties-with-aws-cdk-property-injection/", - "source": "AWS DevOps Blog", - "sourceId": "aws-devops", - "category": "DevOps", - "publishedAt": "2026-03-05T17:39:48.000Z", - "summary": "Standardizing CDK construct properties across a large organization requires repetitive manual effort that scales poorly as teams and repositories grow. Development teams working with AWS Cloud Development Kit ( AWS CDK )…", - "summaryType": "snippet", - "image": "https://d2908q01vomqb2.cloudfront.net/7719a1c782a1ba91c031a682a0a2f8658209adbf/2026/03/03/Slide1.png", - "fallbackImage": "/assets/fallbacks/devops.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.216Z" + "fetchedAt": "2026-05-26T13:50:30.531Z" }, { "id": "a86514b77ebf", @@ -5823,7 +6590,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.617Z" + "fetchedAt": "2026-05-26T13:50:29.424Z" }, { "id": "ca45479e5cd7", @@ -5838,7 +6605,7 @@ "image": "https://thegradient.pub/content/images/2026/02/ramelli-featured.jpg", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.244Z" + "fetchedAt": "2026-05-26T13:50:28.983Z" }, { "id": "fa9ecc90c4d3", @@ -5853,7 +6620,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.618Z" + "fetchedAt": "2026-05-26T13:50:29.427Z" }, { "id": "7857080ff594", @@ -5868,7 +6635,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.618Z" + "fetchedAt": "2026-05-26T13:50:29.427Z" }, { "id": "2d5d4da2485d", @@ -5883,7 +6650,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.620Z" + "fetchedAt": "2026-05-26T13:50:29.429Z" }, { "id": "4790b31b3044", @@ -5898,7 +6665,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.948Z" + "fetchedAt": "2026-05-26T13:50:29.283Z" }, { "id": "2293cd579b85", @@ -5913,7 +6680,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.948Z" + "fetchedAt": "2026-05-26T13:50:29.283Z" }, { "id": "ec851e97e555", @@ -5928,7 +6695,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.621Z" + "fetchedAt": "2026-05-26T13:50:29.430Z" }, { "id": "11e7f6bc3350", @@ -5943,7 +6710,8 @@ "image": "https://developer.mozilla.org/en-US/blog/image-formats-codecs-compression-tools/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z", + "sponsored": true }, { "id": "5bddc0d883c4", @@ -5958,7 +6726,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.623Z" + "fetchedAt": "2026-05-26T13:50:29.431Z" }, { "id": "93dd4a28a49f", @@ -5973,7 +6741,8 @@ "image": "https://developer.mozilla.org/en-US/blog/view-transitions-beginner-guide/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z", + "sponsored": true }, { "id": "63ea979f5ee5", @@ -5988,22 +6757,7 @@ "image": "https://go.dev/doc/gopher/runningsquare.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.623Z" - }, - { - "id": "c0b9f70ecd2c", - "title": "It's survey time! How has Go has been working out for you?", - "link": "https://go.dev/blog/survey2025-announce", - "source": "Go Blog", - "sourceId": "go-blog", - "category": "Go", - "publishedAt": "2025-09-16T00:00:00.000Z", - "summary": " The Go Blog It's survey time! How has Go has been working out for you? Todd Kulesza, on behalf of the Go team 16 September 2025 &…", - "summaryType": "snippet", - "image": "https://go.dev/doc/gopher/runningsquare.jpg", - "fallbackImage": "/assets/fallbacks/go.svg", - "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.623Z" + "fetchedAt": "2026-05-26T13:50:29.432Z" }, { "id": "876d14f96af3", @@ -6018,7 +6772,8 @@ "image": "https://developer.mozilla.org/en-US/blog/launching-new-front-end/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z", + "sponsored": true }, { "id": "306420a1d421", @@ -6033,7 +6788,8 @@ "image": "https://developer.mozilla.org/en-US/blog/image-formats-pixels-graphics/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z", + "sponsored": true }, { "id": "11d9c939d1ba", @@ -6048,7 +6804,7 @@ "image": "https://developer.mozilla.org/en-US/blog/mdn-turns-20/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z" }, { "id": "1dc008c321b4", @@ -6063,7 +6819,7 @@ "image": "https://thegradient.pub/content/images/2025/06/ChatGPT-Image-May-21--2025--11_31_12-AM-copy.png", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.245Z" + "fetchedAt": "2026-05-26T13:50:28.984Z" }, { "id": "1e435c8bd02e", @@ -6078,7 +6834,8 @@ "image": "https://developer.mozilla.org/en-US/blog/color-models-humans-devices/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z", + "sponsored": true }, { "id": "2ebae4f7fb0a", @@ -6093,7 +6850,7 @@ "image": "https://developer.mozilla.org/en-US/blog/h1-element-styles/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z" }, { "id": "3ec850b7a0da", @@ -6108,7 +6865,8 @@ "image": "https://developer.mozilla.org/en-US/blog/global-privacy-control/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z", + "sponsored": true }, { "id": "457b219a2554", @@ -6123,7 +6881,7 @@ "image": "https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z" }, { "id": "632e9534a59b", @@ -6138,7 +6896,8 @@ "image": "https://developer.mozilla.org/en-US/blog/fix-image-lcp/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z", + "sponsored": true }, { "id": "168d56fe8970", @@ -6153,7 +6912,7 @@ "image": "https://developer.mozilla.org/en-US/blog/mdn-2024-content-projects/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z" }, { "id": "2f51f0f54779", @@ -6168,7 +6927,7 @@ "image": "https://developer.mozilla.org/en-US/blog/curriculum-learn-web-development/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.964Z" + "fetchedAt": "2026-05-26T13:50:28.249Z" }, { "id": "6345c2cab529", @@ -6183,7 +6942,8 @@ "image": "https://developer.mozilla.org/en-US/blog/daily-holiday-javascript-challenges/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.965Z" + "fetchedAt": "2026-05-26T13:50:28.249Z", + "sponsored": true }, { "id": "7a63f933bcd6", @@ -6198,7 +6958,7 @@ "image": "https://thegradient.pub/content/images/2024/11/DALL-E-2024-11-15-15.40.52---Create-an-abstract-image-that-illustrates-how-ReLU-based-neural-networks-shatter-input-space-into-numerous-polygonal-regions--each-behaving-like-a-lin.webp", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.248Z" + "fetchedAt": "2026-05-26T13:50:28.987Z" }, { "id": "6ce9b2d6faf8", @@ -6213,7 +6973,7 @@ "image": "https://developer.mozilla.org/en-US/blog/optimize-web-performance/featured.png", "fallbackImage": "/assets/fallbacks/javascript.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:13.965Z" + "fetchedAt": "2026-05-26T13:50:28.249Z" }, { "id": "c380d26cbf1a", @@ -6228,7 +6988,7 @@ "image": "https://thegradient.pub/content/images/2024/08/image5.png", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.249Z" + "fetchedAt": "2026-05-26T13:50:28.988Z" }, { "id": "075b455d7583", @@ -6243,7 +7003,7 @@ "image": "https://thegradient.pub/content/images/2024/07/wellbeing_ai_cover_image.webp", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.254Z" + "fetchedAt": "2026-05-26T13:50:28.990Z" }, { "id": "6e4f8c8087ce", @@ -6258,7 +7018,7 @@ "image": "https://thegradient.pub/content/images/2024/04/Screenshot-2024-04-18-at-3.11.18-PM.png", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.255Z" + "fetchedAt": "2026-05-26T13:50:28.991Z" }, { "id": "c1b9140b4dde", @@ -6273,7 +7033,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.948Z" + "fetchedAt": "2026-05-26T13:50:29.283Z" }, { "id": "86141a80ded5", @@ -6288,7 +7048,7 @@ "image": "https://lh7-us.googleusercontent.com/2boKi96oJS5ZuSRrOr2sg4CtRsOM6aH-U-DRXCnxm6AGIPnvGRRJoButHvmUa9w7eakKB8ohKRIsF6oAbt2jN5R0yGOO-yNSIyUZyd3pdC_DJX7mXdNOsdjENfLOJW0dNJQPAIDoSWKdouczvmEnw40", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.256Z" + "fetchedAt": "2026-05-26T13:50:28.992Z" }, { "id": "e03a8fbe8af2", @@ -6303,7 +7063,7 @@ "image": "https://thegradient.pub/content/images/2024/03/temple_run.png", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.258Z" + "fetchedAt": "2026-05-26T13:50:28.995Z" }, { "id": "7a21767383b4", @@ -6318,7 +7078,7 @@ "image": "https://lh7-us.googleusercontent.com/YS9WFjjuYTq7QkzPnx4xgTQnU0Pmr22i4fEzXXWuBf6wD--eYL8FvdoEpkqlCMKraBaSDuo7j0sWR7ltUaWI31_Bvq9PtJoPpoWRFQnjKOth1P7mnxfzmGT8ppUslOPMhbOzJY49F4IHBMZfyzax18E", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.259Z" + "fetchedAt": "2026-05-26T13:50:28.997Z" }, { "id": "0ee0b8f51ebf", @@ -6333,7 +7093,7 @@ "image": "https://thegradient.pub/content/images/2024/03/Group-66--3-.png", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.260Z" + "fetchedAt": "2026-05-26T13:50:28.998Z" }, { "id": "9dc881aa2545", @@ -6348,7 +7108,7 @@ "image": "https://thegradient.pub/content/images/2024/02/2.png", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.261Z" + "fetchedAt": "2026-05-26T13:50:28.999Z" }, { "id": "9ee2dc8a6067", @@ -6363,7 +7123,7 @@ "image": "https://thegradient.pub/content/images/2024/01/image4.jpg", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.262Z" + "fetchedAt": "2026-05-26T13:50:29.000Z" }, { "id": "4b8482e1914a", @@ -6378,7 +7138,8 @@ "image": "https://thegradient.pub/content/images/2023/08/DALL-E-2023-08-21-18.52.00---frothing-waves-in-the-middle-of-the-spillway-of-a-hydroelectric-dam--shown-by-a-bridge-across-a-river-with-many-arches--with-a-fish-jumping-downstream.png", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.262Z" + "fetchedAt": "2026-05-26T13:50:29.001Z", + "sponsored": true }, { "id": "6da9dee34fd1", @@ -6393,7 +7154,8 @@ "image": "https://lh3.googleusercontent.com/WHPz3vLGaMr2toopTHNgVwz7YDJRqara4Vj9Fxa0EjigyCWlApk42y_pFFUqUXD_-TnCjbTdxZOhtW0JlrxkD2Y9d8mSCpulh6LuoktBWWXclkxCPOzlaqMY18Cn3LY6DtKOXCGhR21XWSxg_SoxKtzwURHMn996upMOykPfmk1CUsKXhlprWypZcDeen2V7oW-mtmaB24_OSXMz1z7-nR7W9OfMsvhou4Vp", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.264Z" + "fetchedAt": "2026-05-26T13:50:29.003Z", + "sponsored": true }, { "id": "ddc54da75a39", @@ -6408,7 +7170,7 @@ "image": "https://thegradient.pub/content/images/2023/09/alignment.png", "fallbackImage": "/assets/fallbacks/ai.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.265Z" + "fetchedAt": "2026-05-26T13:50:29.004Z" }, { "id": "65b8b06ca115", @@ -6423,7 +7185,7 @@ "image": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.758Z" + "fetchedAt": "2026-05-26T13:50:29.092Z" }, { "id": "0176b3ae9f12", @@ -6438,7 +7200,7 @@ "image": "https://lh5.googleusercontent.com/kVHMqIxQ6_y0BNVUrY8fLIyS4ZR61WD1POCDX4lhEyUT3ERxVLZ_l8-dS_qZgzoMC4A4G27valSsTNPdMIm6x-LoqwEY4BpDnPfLLsr9u4KItet_0lChBTnF2QRbRz9acQi131_uAR5m988bkvX3mEs", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.758Z" + "fetchedAt": "2026-05-26T13:50:29.092Z" }, { "id": "bbc81fd6f424", @@ -6453,7 +7215,8 @@ "image": "https://storage.ghost.io/c/64/72/647204cd-7ad2-4539-b98a-3489074b932d/content/images/2024/02/ege6ztj-__squarespace_cacheversion-1689515329345-1.png", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.758Z" + "fetchedAt": "2026-05-26T13:50:29.092Z", + "sponsored": true }, { "id": "4c8f43b6ffe7", @@ -6468,7 +7231,8 @@ "image": "https://live.staticflickr.com/65535/52705024790_8a89921cfb.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.758Z" + "fetchedAt": "2026-05-26T13:50:29.092Z", + "sponsored": true }, { "id": "f1cb366cfd9f", @@ -6483,7 +7247,7 @@ "image": "https://live.staticflickr.com/65535/52567686348_753df29d20_w.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.758Z" + "fetchedAt": "2026-05-26T13:50:29.093Z" }, { "id": "d01cc8978511", @@ -6498,7 +7262,7 @@ "image": "https://live.staticflickr.com/65535/52529671687_3433b320e8_z.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.758Z" + "fetchedAt": "2026-05-26T13:50:29.093Z" }, { "id": "c033586aeb15", @@ -6513,7 +7277,7 @@ "image": "https://live.staticflickr.com/65535/52450419526_dc9077a2d1.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.759Z" + "fetchedAt": "2026-05-26T13:50:29.093Z" }, { "id": "daf2ae718de8", @@ -6528,7 +7292,8 @@ "image": "http://farm3.static.flickr.com/2363/5781449767_54902da8a5_o.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.759Z" + "fetchedAt": "2026-05-26T13:50:29.094Z", + "sponsored": true }, { "id": "8d54e65b73da", @@ -6543,7 +7308,7 @@ "image": "https://live.staticflickr.com/65535/52201588992_e9ba03fa8f.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.759Z" + "fetchedAt": "2026-05-26T13:50:29.094Z" }, { "id": "84ab1cc669b8", @@ -6558,7 +7323,8 @@ "image": "http://farm3.static.flickr.com/2363/5781449767_54902da8a5_o.jpg", "fallbackImage": "/assets/fallbacks/architecture.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.759Z" + "fetchedAt": "2026-05-26T13:50:29.094Z", + "sponsored": true }, { "id": "f0e94e281055", @@ -6573,7 +7339,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.948Z" + "fetchedAt": "2026-05-26T13:50:29.284Z" }, { "id": "38b90c5959ba", @@ -6588,7 +7354,8 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.948Z" + "fetchedAt": "2026-05-26T13:50:29.284Z", + "sponsored": true }, { "id": "cd666e10ae8f", @@ -6603,7 +7370,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.948Z" + "fetchedAt": "2026-05-26T13:50:29.284Z" }, { "id": "f949efaaadd1", @@ -6618,7 +7385,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.948Z" + "fetchedAt": "2026-05-26T13:50:29.284Z" }, { "id": "db627e5d5df5", @@ -6633,7 +7400,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.948Z" + "fetchedAt": "2026-05-26T13:50:29.284Z" }, { "id": "ec52507adcf8", @@ -6648,7 +7415,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.949Z" + "fetchedAt": "2026-05-26T13:50:29.285Z" }, { "id": "0daa4b8fed59", @@ -6663,7 +7430,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.949Z" + "fetchedAt": "2026-05-26T13:50:29.285Z" }, { "id": "89eb5721f084", @@ -6678,7 +7445,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.949Z" + "fetchedAt": "2026-05-26T13:50:29.286Z" }, { "id": "feb17f9312d5", @@ -6693,7 +7460,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.949Z" + "fetchedAt": "2026-05-26T13:50:29.286Z" }, { "id": "b5b180506f1c", @@ -6708,7 +7475,7 @@ "image": "https://dave.cheney.net/wp-content/uploads/2020/02/mean-girls-you-cant-sit-with-us-main.jpg", "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "real", - "fetchedAt": "2026-05-18T14:15:14.950Z" + "fetchedAt": "2026-05-26T13:50:29.287Z" }, { "id": "e4d2b074d995", @@ -6723,7 +7490,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.949Z" + "fetchedAt": "2026-05-26T13:50:29.286Z" }, { "id": "a404db8fb646", @@ -6738,7 +7505,7 @@ "image": null, "fallbackImage": "/assets/fallbacks/go.svg", "imageType": "fallback", - "fetchedAt": "2026-05-18T14:15:14.951Z" + "fetchedAt": "2026-05-26T13:50:29.288Z" } ] } \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 17e95b6..f4088d0 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,1140 +1,1850 @@ - - - - - - - - - - - GeeksPulse — Developer News, One Feed - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- -
-
-
- - Free & indie developer news aggregator -
-

One feed.
Everything that matters.

-

39 hand-picked RSS feeds — AI, security, DevOps, JavaScript, open source, Rust, Go, Java, and architecture — aggregated into one distraction-free reading experience. No algorithm. No ads.

-
- Browse today's stories - - -
-
-
- 39 - Sources -
-
- -- - New today -
-
- 11 - Topics -
-
- -- - Active -
-
-
-
-
-
-
- - built for engineers, by an engineer -
-

Why use GeeksPulse?

-
-
-
-
- -
-
39 sources, one place
-
Every feed is hand-picked: no aggregator bots, no scrapers, no SEO farms. Just Hacker News, IEEE Spectrum, Krebs, GitHub Blog, and 35 other sources engineers actually read.
-
-
-
- -
-
Zero tracking. Full stop.
-
No ad pixels, no fingerprinting, no session recording, no VC-funded data harvesting. GeeksPulse doesn't know who you are — and that's the point.
-
-
-
- -
-
Always fresh
-
A scheduled GitHub Actions pipeline rebuilds the feed from live RSS sources multiple times daily. The feed health panel shows you exactly when each source last synced — and flags any failures.
-
-
-
- -
-
Fully open source
-
Every line — feed list, build script, UI — is public on GitHub. Audit it, fork it, or open a PR to add a source. Transparency isn't a marketing claim here; it's a URL.
-
-
-
- - -
- -
- - - -
-

Latest

- -
- - -
- -
-
-
- - Fetching the latest developer pulse... -
- -
-
- - -
-
- - - - - - - - - - - -
-

- Latest Developer News -

-
- - - - - - - - - - - - - - - - - - - - -
-
- - -
-
-
-
-
-
GeeksPulse saves you time.
-
It's free, ad-free, and built by one developer in their spare time. If it's become part of how you stay current, consider supporting it — even a small amount keeps the lights on.
-
- -
-
- - -
-
-
- -
-
- - open source -
-

Make it
even better.

-

- GeeksPulse is open source and the feed list grows through community pull requests. - Whether you write code, spot bugs, or just know a great RSS source that's missing — there's a way for you to contribute. -

-
    -
  • - - Fork the repo and open a pull request -
  • -
  • - - Report a broken feed or a UI bug via Issues -
  • -
  • - - Star the repo — it helps more people find it -
  • -
  • - - Suggest a quality RSS source worth adding -
  • -
- -
- -
- -
-
-
-
- - -
-
-
- -
-
- - your feedback shapes this -
-

Something broken?
Tell us.

-

- Found a broken feed? Know a source worth adding? Have a UI suggestion? - GitHub Issues is the fastest path to a fix — every report gets read. -

-
    -
  • - - Report a broken or dead RSS feed -
  • -
  • - - Suggest a quality source worth adding -
  • -
  • - - Share a UI or performance improvement idea -
  • -
  • - - Just say hi — we appreciate every message -
  • -
- -
- - -
-
-
- - -
-
-
-
-
- - about this project -
-

Behind
GeeksPulse.

-

- GeeksPulse is an indie project — designed, built, and maintained by Majid Abarghooei, a solo developer. It exists because keeping up with software engineering shouldn't require 12 browser tabs and a news algorithm optimised for rage. It aggregates 39 hand-picked RSS feeds with no ads, no paywalls, and no outside pressure. -

- - - - -

- // Launched 2026 · Open source · No ads · No paywalls · No tracking -

- -
- - -
-
-
- - - - - - + + + + + + + + + + + GeeksPulse — Developer News Aggregator | Programming, AI, Security & DevOps + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ +
+
+
+ + Developer-First Technology Signal +
+

Stay ahead of
what developers build next.

+

AI, security, DevOps, JavaScript, Python, Rust, Go, open source and architecture — curated from trusted engineering sources into one clean, distraction-free feed.

+
+ 50+ curated sources + + No ads + + No paywalls + + Open source +
+
+ Explore the Feed + +
+
+
+ 50 + Sources +
+
+ -- + New Today +
+
+ 11 + Topics +
+
+ -- + Active Sources +
+
+
+
+ + + + +
+ +
+ + + +
+

Latest Developer Signal

+ +
+ + +
+ +
+
+
+ + Fetching the latest developer pulse... +
+ +
+
+ + +
+
+ + + + + + + + + + + +
+

+ Latest Developer & Programming News +

+

The latest developer news aggregated from 481+ curated RSS feeds covering AI, cybersecurity, DevOps, JavaScript, Python, Rust, Go, Java, open source software, and software architecture.

+
+ +
+ + + + + +
Article image for: Security updates for Tuesday
+

Security updates for Tuesday

+
AI Summary

Security updates have been issued by Debian (postorius and spip), Fedora (bind, bind-dyndb-ldap, linux-firmware, tor, and unbound), Mageia (ffmpeg, nginx, perl-Imager, and tigervnc, x11-server,…

+ +
+ + + + + + + +
+ + + + + +
Article image for: Security updates for Monday
+

Security updates for Monday

+
AI Summary

Security updates have been issued by Debian (atril, evince, gnutls28, haproxy, haveged, jq, kernel, krb5, libgcrypt20, nodejs, and thunderbird), Fedora (aw-server-rust, awatcher, bind,…

+ +
+ +
+ + + + + +
Article image for: Security updates for Friday
+

Security updates for Friday

+
AI Summary

Security updates have been issued by AlmaLinux (firefox), Debian (chromium, nss, openvpn, and thunderbird), Fedora (cockpit, kernel, and linux-firmware), Oracle (gdk-pixbuf2, kernel, and libsndfile),…

+ +
+ +
+ + + + + +
Article image for: Cross-Platform NPM Stealer, (Fri, May 22nd)
+

Cross-Platform NPM Stealer, (Fri, May 22nd)

+
AI Summary

I found a Node.js stealer that looked pretty well obfuscated. The file was not running out-of-the-box because it was uploaded on VT as “extracted-decoded.js” (and reformated). The SHA256…

+ +
+ + + + + +
+ + + + + +
Article image for: Apple TV to Broadcast Entire MLS Match Shot Using iPhones
+

Apple TV to Broadcast Entire MLS Match Shot Using iPhones

+
AI Summary

Speaking of Apple and sports, here’s another one from Apple Newsroom: This Saturday, May 23, Apple TV will present a special live Major League Soccer match captured exclusively on iPhone 17 Pro —…

+ +
+ + + + + + + + + + + +
+ + + + + +
Article image for: Laurie Anderson Is Quoting Me
+

Laurie Anderson Is Quoting Me

+
AI Summary

Not by name, but Laurie Anderson quotes me in one of the tracks of her new album: My favorite quote is from a cryptologist who said “If you think technology will solve your problems, you…

+ +
+ + + + + +
+ + + + + +
Article image for: Building GitHub’s next chapter in accessibility
+

Building GitHub’s next chapter in accessibility

+
AI Summary

Five years ago, we stood up GitHub’s accessibility program. What began as a small team addressing accessibility debt has grown into a company-wide discipline, woven into our engineering…

+ +
+ + +
+
+ + +
+
+
+
+
+
GeeksPulse saves you time.
+
It's free, ad-free, and built by one developer in their spare time. If it's become part of how you stay current, consider supporting it — even a small amount keeps the lights on.
+
+ +
+
+ + +
+
+
+
Why GeeksPulse
+

A cleaner way to follow engineering.

+

Built for developers, not advertisers. GeeksPulse is curated, transparent, open source, and completely free.

+
+
+
+ +

No Ads

+

Zero advertising and zero promoted stories interrupting your reading flow.

+
+
+ +

No Paywalls

+

Follow the most useful engineering stories without artificial product friction.

+
+
+ +

Trusted Sources

+

Hand-picked publishers covering software development, infrastructure, security and AI.

+
+
+ +

Curated, Not Algorithmic

+

Chronological developer news without engagement manipulation or rage-driven ranking.

+
+
+ +

Open Source

+

Inspect the project, contribute sources, report issues and improve the experience.

+
+
+ +

Privacy First

+

No unnecessary tracking. Analytics only where consent and current implementation allow it.

+
+
+
+
+ + +
+
+
+ +
+
+ + open source +
+

Help shape the
developer signal.

+

+ GeeksPulse grows through thoughtful source suggestions, issue reports and open-source contributions. + Whether you write code, spot bugs, or know a great engineering source that's missing — there's a way for you to contribute. +

+
    +
  • + + Fork the repo and open a pull request +
  • +
  • + + Report a broken feed or a UI bug via Issues +
  • +
  • + + Star the repo — it helps more people find it +
  • +
  • + + Suggest a quality RSS source worth adding +
  • +
+ +
+ +
+ +
+
+
+
+ + +
+
+
+ +
+
+ + your feedback shapes this +
+

Something missing?
Tell us.

+

+ Found a broken feed, a valuable engineering source, or a usability issue? Every useful report helps improve the signal. +

+
    +
  • + + Report a broken or dead RSS feed +
  • +
  • + + Suggest a quality source worth adding +
  • +
  • + + Share a UI or performance improvement idea +
  • +
  • + + Just say hi — we appreciate every message +
  • +
+ +
+ + +
+
+
+ + +
+
+
+
+
+ + about this project +
+

Behind
GeeksPulse.

+

+ GeeksPulse is an independent, open-source developer news aggregator built to help software engineers stay current without dozens of browser tabs, noisy social feeds, or algorithmic distraction. It brings trusted engineering sources into one fast, focused reading experience. +

+ + + + +

+ // Launched 2026 — Open source — No ads — No paywalls — No tracking +

+ +
+ + +
+
+
+ + + + + + \ No newline at end of file diff --git a/dist/manifest.json b/dist/manifest.json index 4011468..b93477f 100644 --- a/dist/manifest.json +++ b/dist/manifest.json @@ -1,7 +1,7 @@ { "name": "GeeksPulse", "short_name": "GeeksPulse", - "description": "Free developer news aggregator. 39 hand-picked RSS feeds, zero ads, no paywalls.", + "description": "Free developer news aggregator. 50 hand-picked RSS feeds, zero ads, no paywalls.", "start_url": "/", "scope": "/", "display": "standalone", diff --git a/dist/version.json b/dist/version.json index 23811a4..6eb1da8 100644 --- a/dist/version.json +++ b/dist/version.json @@ -1,6 +1,6 @@ { - "version": "v1.0.436", - "commit": "e6d2950", - "date": "2026-05-18", - "build": 436 + "version": "v1.0.598", + "commit": "9f82df0", + "date": "2026-05-26", + "build": 598 } diff --git a/favicon.svg b/favicon.svg index 47dd4ff..93cd81e 100644 --- a/favicon.svg +++ b/favicon.svg @@ -1,26 +1,19 @@ - - - - - - - + + + - + - - - - + - - + + - - + + diff --git a/index.html b/index.html index 6311992..c64b918 100644 --- a/index.html +++ b/index.html @@ -62,8 +62,7 @@ - - + @@ -77,7 +76,7 @@ - + @@ -337,7 +336,13 @@