DuckDuckGo "Normal F**king Sunglasses" Sold Out In Under a Week
DuckDuckGo partnered with sunglasses brand Knockaround to release "Normal F**king Sunglasses" β a satirical product mocking AI-powered smart glasses. The glasses have no camera, microphone, AI, battery, or electronics of any kind. They sold out in under a week. The collaboration is a commentary on growing surveillance concerns around AI glasses, particularly following Meta's use of Ray-Ban Meta smart glasses footage to train its AI systems and the June 2026 launch of Meta Glasses.
β€18π8π4π₯2
No Index GroupBy Optimization
Dolt and Doltgres were using a secondary index for GROUP BY queries even when a full table scan would be faster. By analyzing EXPLAIN output and flame graphs, the team discovered that when a filter selects more than ~50% of rows, the secondary index lookup overhead outweighs its benefits. They added heuristics to the query coster: secondary indexes are only preferred when they select fewer than 25% of rows, while primary keys and covering indexes are always preferred. Using existing statistics histograms to estimate filter selectivity, this reduced groupby_scan latency by 57% on Dolt (144ms β 62ms) and 44% on Doltgres (147ms β 83ms), making Dolt faster than MySQL on this benchmark.
β€9π4π¨βπ»1
WebSocket vs SSE vs Long Polling: The Real Cost of 1,000 Events
A hands-on benchmark built with a Node harness and a byte-counting TCP proxy measures the real wire cost of WebSocket, SSE, and long polling delivering 1,000 events. WebSocket used 119,692 bytes, SSE 131,596 (10% more), and HTTP/1.1 long polling 884,698 bytes (7.4x), mostly re-sent headers. On HTTP/2, long polling drops to 182,475 bytes (1.56x payload). Latency differences at low event rates were under 0.3ms across all three; long polling only degrades when events arrive faster than a round trip. Server memory for 500 idle connections favored WebSocket (6.2-6.7MB) over SSE (11MB) and long polling (10.3-10.9MB). Practical failure modes covered include idle timeouts, proxy buffering, and the six-connections-per-origin HTTP/1.1 cap on SSE. The recommendation: build SSE first for server-to-client feeds, move to WebSocket only when upstream or binary data is needed.
π10β€6
Does anyone run Postgres without PgBouncer?
Almost every notable managed Postgres provider bundles a connection pooler like PgBouncer, according to a survey of major providers including AWS RDS, Azure, Google Cloud SQL, Supabase, Neon, DigitalOcean, and others. Only IBM Cloud and Oracle OCI lack a managed pooling option, and both are dismissed as unlikely choices outside enterprise sales cycles. The piece argues connection pooling is effectively a mandatory add-on because Postgres itself handles many connections poorly, and contrasts this with MySQL and MongoDB, which don't require a bolted-on pooler. The wasted effort of every provider building homegrown pooling setups and every user having to learn PgBouncer's quirks (like the lack of LISTEN/NOTIFY support) is framed as evidence that native connection pooling in Postgres itself would be a high-impact improvement.
β€11π6
Stop burning tokens on code review
An engineering leader shares why AI-based code review tools like Cursor's BugBot and custom Claude code review skills became too slow, noisy, and expensive (hitting $1000/day in one case) for a team producing thousands of PRs a quarter. The fix that worked: converting team-specific coding rules from markdown guidelines into custom linters, which run in seconds, are deterministic, can run in-editor and on pre-commit hooks, and stop agents from ever pushing bad code. Several example custom lint rules are shared, covering design system consistency, logging, testing conventions, and prose quality.
π11β€6π₯2π1
How MongoDB Reduced PR Review Times with GitDailie
A case study describes how MongoDB adopted GitDailies, a GitHub PR alerting and metrics tool, to help engineering teams meet PR review SLAs. Customizable alerts, Slack integration, and personalized dashboards replaced ineffective existing alerting, reportedly cutting review times by up to 54% for one team and over 28% for nearly half the teams involved.
π10β€1
VoidZero Releases Vite+ Beta: A Unified Web Toolchain Behind a Single Command
VoidZero, the company behind Vite founder Evan You, has launched the beta of Vite+, a unified web toolchain accessible through a single vp command. It bundles Vite, Vitest, Rolldown, tsdown, Oxlint and Oxfmt with a built-in task runner, offering commands like vp dev, vp check, vp test, vp build, vp pack and vp run. Since its alpha, the team has merged over 500 pull requests, expanded vp migrate coverage, and added enterprise features like organisation templates. Over 1,300 public repositories already use it, including Dify, BlockNote and Cloudflare's vinext. Reception on Hacker News was largely positive, though a widely shared GitHub write-up by Jared Wilcurt criticized its vp env Node version manager and warned about ecosystem lock-in and heavy reliance on Rust rewrites of existing tools.
β€10π7π1π¨βπ»1
Postgres 19: How Our Advice Has Changed Since...
A deep retrospective revisits years of Crunchy Data's Postgres advice on COPY, TOAST, BRIN indexes, covering indexes, and partitioning, mapping which Postgres versions (14 through the upcoming 19) changed the underlying mechanics while the core recommendations largely held. Highlights for Postgres 19 (currently in beta) include SIMD-accelerated COPY parsing, ON_ERROR SET_NULL, LZ4 becoming the default TOAST compression algorithm, native REPACK CONCURRENTLY, native MERGE/SPLIT PARTITION syntax, COPY TO working directly on partitioned parents, autoscaling async I/O workers, parallel autovacuum workers, and JIT being turned off by default after being on since version 12. The piece closes with a checklist of advice that remains unchanged across all these releases.
β€8π4
WhatsApp Computer Science and Technology
π11β€3π2π1
Connection Pool Sizing, Measured: Why 48 Connections Beat 400
A benchmark sweep of a PostgreSQL instance from 1 to 400 connections shows throughput peaking at 48 connections (18,039 tps) and dropping 37% by 400 connections, while average latency multiplied 13x. The piece explains why connections are OS processes competing for cores rather than free capacity, tests the Universal Scalability Law fit (RΒ²=0.94, predicted optimum 45.1), evaluates the (coresΓ2)+spindles formula (predicts 9, far off the measured 48), and finds that synchronous_commit=off raises throughput but does not shift the peak. It closes with practical guidance: watch queue depth (cl_waiting in PgBouncer, pending-threads in HikariCP) rather than connection count, account for instances Γ pool size multiplication, and use transaction pooling or RDS Proxy for Lambda to avoid connection exhaustion.
β€11π3π1
WhatsApp Computer Science and Technology
π8β€3π2π1
pnpm 12.0
pnpm 12 is now stable, a full Rust rewrite that preserves pnpm 11's commands, flags, settings, and lockfile format without requiring migration. It's installed via the next-12 npm tag since latest still points to pnpm 11. Breaking changes include git dependency specifiers resolving through canonical HTTPS URLs instead of SSH, unrecognized pnpm-workspace.yaml settings now being reported (and failing when a pnpm version is pinned), canonicalized lockfiles for cyclic dependency graphs (2-3x faster peer resolution, ~25% less memory on cycle-heavy workspaces), hardlink-first behavior for packageImportMethod: auto on Linux, and stricter engineStrict edge traversal. New features include project-aware global bins for node/deno/bun, pnpm provisioning other package managers (npm, Yarn, Bun) via pnx and pnpm shim, registry revisions for serving patched artifacts without version bumps, pnpm init pinning the latest pnpm version, batch approval for staged publishing, audit.ignorePrune, sudo restrict
π₯10β€8π3π2
Node.js β Node.js 24.20.0 (LTS)
Node.js 24.20.0 'Krypton' LTS ships several SEMVER-MINOR additions: using scopes for AsyncLocalStorage, an end parameter for Buffer, permission.drop and a new --permission-audit flag, package maps support in the loader, a new node:stream/iter module, context.log() in the test runner, and WebAssembly JSPI enabled. It also updates root certificates to NSS 3.125 and bundles numerous dependency upgrades (npm 11.19.0, ngtcp2, nghttp3, c-ares, sqlite, timezone data) plus a long list of bug fixes across crypto, buffer, http, http2, quic, and net modules.
π9β€5
The Days Of Broadcast Digital TV Could Be Numbered
The UK government has set 2032 as a target date for switching off Freeview digital terrestrial TV broadcasting, moving television delivery entirely to internet-based streaming with an initial set-top-box requirement. This mirrors a broader European decline in over-the-air broadcast media, including the BBC's earlier shutdown of long wave and AM transmissions. Unlike past analog shutoffs, this move retires the very digital multiplex system (DVB-T/ATSC) that replaced analog TV roughly fifteen years ago, despite it still being widely used.
β€12π¨βπ»2π1
WhatsApp Computer Science and Technology
π16β€6
Cancel In-Flight Form Submissions in Inertia.js v3.7
Inertia.js v3.7.0 adds a cancelOnUnmount attribute and a cancel method to the Form component so in-flight submissions can be aborted when a form unmounts or via a button click. usePoll now exposes a reactive polling value across Vue, React, and Svelte. Once props no longer lose their value during instant visits, and navigation no longer cancels background async visits aimed at other pages. Three fixes address a React back_forward stale-props bug, prop identity issues in replaceProp/appendToProp/prependToProp, and a Form unmount crash in React.
β€10π3πΏ1
The best dark mode toggle is probably none β’ Lea Verou
Building on an earlier post advocating two-state (rather than tri-state) dark mode toggles, the author now argues that most websites shouldn't have a persistent dark mode toggle at all β the setting should default to following the OS and live in a settings panel instead. The piece responds point by point to Bramus's counter-argument for tri-state toggles (a scenario involving OS auto-switching plus reverted selections), calling it rare, cheaply recoverable, and a case of developers overweighting their own edge cases (IKEA effect meeting false-consensus bias). It also surveys community-designed alternative toggles (Vale's 3-in-2 design,
β€9π₯4π3
New system views in PostgreSQL 19
PostgreSQL 19 introduces four new system views for observability: pg_stat_lock provides cumulative cluster-wide lock contention statistics per lock type, including a fastpath_exceeded counter useful for partition-heavy workloads; pg_stat_recovery gives a single atomic snapshot of standby recovery state (replay LSNs, timelines, pause state, promotion status), replacing the need to combine several inconsistent functions;pg_stat_autovacuum_sc exposes the new per-table scoring system (based on XID age, multixact age, dead tuples, inserts, and analyze staleness) that now determines autovacuum table processing order, replacing the old pg_class ordering; and pg_dsm_registry_allocations lists dynamic shared memory registry entries (name, type, size) used by extensions that no longer need shared_preload_libraries and a restart. The piece walks through each view's schema and runs live demo queries showing sample output. PostgreSQL 19 is still in beta and details may change before GA.
β€16π1
WhatsApp Computer Science and Technology
π11β€8πΏ5
First Look at @nestjs/observe in NestJS 12
NestJS 12 comes with some solid updates, no doubt about that. But if you havenβt looked at the new observability features yet, it is worth a close look.
Setting up APM tools in Node has always felt a bit clunky. Most agents sit outside the app, monkey-patching HTTP drivers and database packages to guess what is happening under the hood. It works, but you usually lose framework context along the way.
Full Article : https://lnkd.in/p/gP53bYmC
β€11π3π3π₯2