HackerNews Digest

July 26, 2026

An ESP32 based plane radar for my desk

The project implements a live aircraft radar using an ESP32‑C3 paired with a 1.28‑inch round display. It receives nearby ADS‑B signals, computes each aircraft’s distance and bearing, and renders the information on‑screen. The build requires minimal soldering; silicone‑based wires connect the ESP32 to the display, and firmware can be flashed via the ESPHome web tool in under 30 seconds.

Firmware enhancements (fork of the ESP32 Plane Radar code) add:

  • Flight context data, showing origin/destination airports and more detailed aircraft types (e.g., B737‑800).
  • Local weather, temperature, humidity, date and time overlays.
  • A web interface for adjusting coordinates, display options, units, runway settings, weather, temperature format, and 12/24‑hour time without resetting Wi‑Fi.
  • Adjustable text size (default +10 % with 80‑130 % slider).
  • Authenticated OTA updates allowing browser‑based firmware upgrades.

Future work includes adapting the software to larger displays and creating a custom 3D‑printed enclosure, as the current MakerWorld model’s tolerances are insufficient for the supplied boards.

Read full article →

The comments are generally positive, praising the project’s impressive functionality. Critics note that the system relies on external ADS‑B data, calling it “cheating,” and question whether an ESP32 can handle the required reception and decoding. Suggestions include incorporating Wi‑Fi‑based positioning to avoid manual latitude/longitude entry and exploring a true ESP32‑based emitter. Several remarks clarify that ADS‑B tracking is a secondary radar display, not actual radar, while overall appreciation for the work remains strong.

Read all comments →

JetZero

JetZero announced a Series B financing round of approximately $175 million, led by global investment firm B Capital. The funding is intended to support the development and commercialization of JetZero’s zero‑emission aircraft technologies. Concurrently, the company added new directors—Shanahan and Hirshberg—to its board of directors. Visual assets accompanying the announcement reference JetZero branding, aircraft liveries for Alaska, United, Japan Airlines, and Gulf Air, as well as icons denoting efficiency, experience, environment, and team. No further operational or technical details are provided in the extracted content.

Read full article →

The comments show mixed reactions to JetZero’s all‑wing concept. Many express skepticism about practical hurdles such as certification, structural pressurization, airport gate compatibility, and passenger comfort without windows, citing past failures of similar ambitious projects. Others acknowledge the potential fuel‑efficiency and environmental benefits and appreciate the innovative design, while noting the difficulty a startup faces in bringing a new airliner to market. Overall, there is cautious curiosity tempered by concern over technical and commercial viability.

Read all comments →

A shell colon does nothing. Use it anyway

The article explains the dual role of the colon (:) in POSIX shells.

  • Null‑command: : is a builtin that does nothing but evaluates its arguments and discards the result. It can serve as a placeholder, a comment marker in early Thompson shells, or be used in constructs such as : >file, ( : <input ) && echo YES, or if cmd; then :; else echo fail; fi.
  • Parameter‑expansion shortcut: Prefixing an expansion with : forces evaluation without executing the resulting word. Example: :"${1:?missing argument}" checks that $1 is set, prints the diagnostic to stderr, and exits if not; the colon discards the expanded value. The same works with ${VAR:=default} to assign a default while suppressing command execution.
  • Advantages: Using : reduces typing, avoids accidental execution of the expanded string, and consolidates error‑handling or default‑setting logic into a single line.
  • FAQs: The expansion occurs regardless of :, but without it the shell would treat the result as a command. Using : is a stylistic choice that minimizes typographic errors compared with separate assignments like VAR=${VAR:-default}.
Read full article →

The comments express mixed views, criticizing Bash for its complexity and numerous pitfalls, and recommending higher‑level languages for most scripting, while also acknowledging that Bash remains valuable for command‑line tasks. Several readers find the article’s examples of the null command and other tricks interesting and useful, yet they note inaccuracies such as unclear explanations of file truncation, unnecessary constructs, and missing context about redirection behavior. Overall, the feedback balances appreciation for novel shell techniques with calls for clearer, more precise documentation and a preference for simpler alternatives when appropriate.

Read all comments →

Show HN: I mapped every US golf course

A web tool titled “Golf Course Browser – Every US Golf Course on One Map” provides a map interface that displays U.S. golf courses. It includes a weather loading feature and options to view nearby courses within 10 mi, 25 mi, or 50 mi radii. Location data is sourced from OpenStreetMap contributors, and hole and amenity information is derived from map data estimates.

Read full article →

The comments express strong support for the golf‑course mapping project while offering numerous constructive suggestions. Contributors note gaps in coverage, request inclusion of additional sites such as mini‑golf, driving ranges, and international locations, and propose richer data like polygon boundaries, membership status, water usage, and integration with health or environmental datasets. Concerns about potential liability from scraping existing sources and the public‑resource nature of many courses are raised. Overall, the feedback is encouraging, emphasizing collaborative expansion and enhanced detail.

Read all comments →

The new rules of context engineering for Claude 5 generation models

The article outlines updated context‑engineering practices for Claude 5 models, replacing older “myths” with more flexible, judgment‑based approaches.

  • Rule‑based guidance removed – Instead of hard‑coded system prompts (e.g., “no multi‑line comments”), new prompts ask Claude to match the surrounding code’s comment density, naming, and idiom, relying on the model’s improved judgment.
  • Examples replaced by interface design – Providing concrete usage examples now limits exploration; designers should expose expressive parameters (e.g., enumerated status values) so Claude can infer correct behavior.
  • Progressive disclosure – Move optional steps such as verification or code‑review into separate skills or deferred‑loading tools, loading them only when needed. Organize CLAUDE.md/Skill.md files as a tree rather than a monolithic repository.
  • Tool descriptions centralize instructions – Remove duplicated instructions from system prompts; place usage details directly in tool definitions.
  • Auto‑memory – Claude now auto‑saves relevant context, eliminating manual #hotkey memory entries.
  • Richer references – Claude can consume complex artifacts (HTML, test suites, functions, rubrics) beyond simple markdown specs, enabling deeper contextual grounding.
  • Practical assembly – Keep system prompts product‑specific, CLAUDE.md lightweight with key gotchas, skills concise and modular, and use @‑mentions to reference high‑fidelity files. A new claude doctor command assists in simplifying these assets.
Read full article →

The comments express widespread skepticism toward extensive prompt engineering and auto‑memory features, favoring concise, human‑readable documentation and active control of context. Users report that newer Claude models often add unnecessary verbosity, make inaccurate assumptions, and resist precise steering, leading many to disable auto‑memory or switch to GPT‑based workflows for better adherence to instructions. Concerns about vendor lock‑in, unpredictable model behavior, and liability when relying on opaque system prompts are common, while a desire for portable, lightweight harnesses and clearer memory management remains strong.

Read all comments →

Inflect-Micro-v2: complete voice in 9.36M parameters

Inflect‑Micro‑v2 is a 9.36 M‑parameter English TTS model delivering local text‑to‑waveform synthesis at 24 kHz with a 37.5 MB FP32 footprint. Built on a VITS‑style end‑to‑end architecture, it combines a phoneme frontend, monotonic alignment, stochastic latent generation, residual‑coupling flow and an alias‑reduced neural waveform decoder. Evaluation on 400 held‑out prompts reports 66.2 % human blind‑preference over competing compact models, a UTMOS22 score of 4.395 (95 % CI 4.381–4.408), and intelligibility WERs of 2.52 % (Qwen3‑ASR) and 5.45 % (Nemotron 3.5). CPU inference (8 vCPU, 32 GB RAM) runs faster than real time using the public PyTorch runtime; an ONNX export supports dynamic length and CUDA/DirectML providers. The release includes model weights, config, inference code, and evaluation data, but only a single fixed male English voice; no zero‑shot cloning or multilingual support. Usage is restricted by Apache‑2.0 licensing and responsible‑use guidelines prohibiting impersonation or fraudulent content.

Read full article →

The feedback is overwhelmingly positive, praising the model’s high quality despite its small size and noting successful integration into a speech‑dispatcher implementation. Reviewers also recognize the clear limitations: it supports only English, offers a single fixed male voice, and lacks zero‑shot voice cloning, with occasional spotty quality that can be mitigated through tuning. Overall, the consensus appreciates the achievement of a complete local text‑to‑waveform system under 10 million parameters while acknowledging its constrained feature set.

Read all comments →

Rethinking Legal Education in the AI Era

The University of Chicago Law School has adopted a strategic vision for legal education in the AI era, centered on three pillars: (1) AI‑resilient pedagogy and assessment that encourage sustained, critical engagement while permitting constructive AI use; (2) reinforcement of “essential human” skills—oral advocacy, strategic judgment, relationship building—that remain indispensable; and (3) responsible, effective, and ethical AI instruction that equips students with adaptable analytical frameworks.

Implementation includes:

  • Uniform AI‑resilient policies for 1L core courses (device bans in class, in‑person exams, continued Socratic method).
  • A restructured 1L Legal Research & Writing curriculum that builds foundational writing without AI and layers AI‑assisted research, revision, and supervision.
  • Flexible elective policies encouraging faculty experimentation with AI‑enhanced tools and varied assessment formats.
  • Revised upper‑level writing requirements adding mandatory oral defense of substantial research papers to test independent reasoning.
  • Clinical programs integrating licensed AI tools with tailored use policies, emphasizing both AI‑augmented and purely human lawyering.

The school commits to transparent syllabus policies, continuous monitoring of AI developments, and ongoing review with faculty, students, and alumni.

Read full article →

The comments convey strong approval of the proposed curriculum, noting its balanced structure and concrete implementation details. There is broad agreement that integrating AI tools while maintaining traditional methods, such as the Socratic approach and device‑free exams, is sensible and necessary. Contributors see the plan as a model likely to be adopted by other law schools, emphasizing that AI is reshaping legal practice, diminishing reliance on traditional monopolies, and prompting institutions to adjust teaching and assessment methods despite anticipated financial shifts.

Read all comments →

W4ME Station – a WASM-4 runtime for Java ME phones

W4ME Station is a Java ME MIDlet that runs unmodified WASM‑4 WebAssembly cartridges on CLDC 1.1 / MIDP 2.0 devices, including mid‑2000s feature phones. Version 1.0.0 ships a 275 KB JAR (≈300 KB total) containing thirteen bundled cartridges; the runtime uses no JIT and requires no network connection. It implements the WASM‑4 host APIs for graphics, input, audio, disk, text, and tracing, with persistent fixed‑width W4IR caching, RMS‑backed per‑cartridge storage, and MMAPI audio (streamed MIDI, playTone fallback). Input supports phone keys, keyboards, pointer, and an on‑screen touch pad; sound settings (mode, mute, master volume) persist across MIDlet restarts. Two build variants are provided: a base JAR/JAD for devices lacking the optional JSR‑75 FileConnection API and a full version for devices that support it. Additional .wasm files can be installed via HTTP(S), file:// URLs, or the JSR‑75 browser and are stored in RMS. Development requires Linux with just, Podman, Distrobox, JDK 8, ProGuard, KEmulator, and WABT; source code is MIT‑licensed, while bundled cartridges retain their original licenses and an optional phoneME component is GPL‑2.0‑only.

Read full article →

The comments express concern that even though the release variants remain under 300 KB, that size is still considered excessive for most mid‑2000s feature phones targeting CLDC 1.1/MIDP 2.0. Reviewers view the 300 KB threshold as too large to be practical on such devices, suggesting the current builds may not fit comfortably within the memory constraints typical of those phones. This sentiment highlights doubts about the suitability of the current package sizes for the intended hardware.

Read all comments →

Clinical failure rates over the decades: yikes

The discussion treats the roughly 90 % clinical failure rate as a stable, expected outcome of the inherent difficulty of developing safe, effective drugs rather than a sign of systemic failure. Contributors note that advances in technology and stricter regulatory standards have kept the rate constant, limiting the impact of AI and other hype. Some argue that a higher tolerance for low‑probability successes could yield breakthroughs, while others point out that many “failed” trials may contain useful signals for specific patient subsets, suggesting a need for broader, more nuanced evaluation.

Read all comments →

Cloudflare's new AI traffic options for customers

Cloudflare announced expanded AI‑traffic controls based on a three‑category taxonomy: Search (indexing for later query answers), Agent (real‑time automated actions on a user’s behalf), and Training (crawling to feed model development). New settings let all customers—free tier included—allow, block, or limit each category, with defaults effective 15 Sept 2026 that block Training and Agent bots on pages serving ads while permitting Search bots. Multi‑purpose crawlers (e.g., Googlebot) are evaluated against all declared purposes, so blocking any one category will block the crawler.

Enterprise Bot Management gains BotBase, a searchable database of verified bots and agents, displaying their classifications and “content‑use” levels (immediate → no storage, reference → index/excerpt, full → summarize/reproduce). Content‑use signals can be set in robots.txt (use=…) and in the Forwarded header for transitive trust across proxies.

The “Verified” label now indicates compliance with category‑specific allowances rather than blanket default‑allow; verification requires honest representation and non‑abuse. Customers can adjust these controls in their Cloudflare Security settings before the September rollout.

Read full article →

Comments express frustration and distrust toward Cloudflare’s new policy that blocks multi‑purpose crawlers, especially Googlebot, for training purposes. Users criticize the perceived erosion of internet openness, cite practical problems like unexpected blocks and broken site functionality, and question the motives and transparency of the changes. There is notable disappointment that the promised pay‑per‑crawl option remains inaccessible, with many demanding clearer controls and compensation for AI traffic, while some simply want an easy way to disable the feature altogether.

Read all comments →