A Java Geek weekly 139

A retrospective on Errors Management: where do we go from here? A terminal is all you need for web agents. portless. Nobody Cracks Open a Programming Book Anymore. Flexibility is Overrated. Beyond the Prompt: Claude Code. Is it safe to use __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED? the solution might be cancelling my AI subscription. rustc_codegen_jvm. Why Hardened Images are Suddenly Everywhere. Know what your USB-C cable can really do.

A retrospective on Errors Management: where do we go from here?

Error management is a fact of life in software development as it is often inevitable and generated by different causes that also include incorrect or incomplete understanding of the requirements or even lack of knowledge of some tools or elements used during development.

Let’s go on a small trip into the evolutions and different concepts related to error management, analyzing why it is difficult and why we are going in new directions after the moment of Exceptions in programming languages.

A terminal is all you need for web agents

Webwright gives the model a terminal, a local workspace, and the freedom to write code that launches, inspects, and discards browser sessions. The output is not just a completed task, but a reusable program.

portless

Portless replaces port numbers with stable, named .localhost URLs for local development.

When I was a Developer Advocate doing demos, I searched for this exact feature for a long time. I have found it, but I don’t do demos anymore.

Nobody Cracks Open a Programming Book Anymore

It’s a fact that less people buy and read technical books. It’s a shortcut to mention LLMs: correlation isn’t causation.

By the way, I’m reading Build an AI Agent (From Scratch). It’s a great book; expect a review soon-ish.

Flexibility is Overrated

The post explains quite clearly the reason why I hate Stop the f…​ about Gradle.

Beyond the Prompt: Claude Code
  • The .claude Directory, Properly Understood
  • CLAUDE.md, The Way Boris Writes It
  • CLAUDE.local.md as a Daily Driver
  • Skills, In Depth
  • Building Custom Subagents
  • Plugins and the Marketplace
  • Underused Claude Code Commands
  • MCPs as Power Tools
  • Optimizing Your Daily Workflow
  • s From the Anthropic Team
Is it safe to use __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?

No comment! 😅😅😅

/insights

Generate a report analyzing your Claude Code sessions, including project areas, interaction patterns, and friction points

— Claude Code commands

Sections include:

  • What You Work On
  • How You Use Claude Code
  • Impressive Things You Did
  • Where Things Go Wrong
  • Existing CC Features to Try
  • New Ways to Use Claude Code
  • On the Horizon

    Here’s an excerpt of What You Work On, which focuses on my blog.

    Blog Content Review & Publishing

    User repeatedly engaged Claude for editorial reviews of draft blog posts, including identifying typos, broken links, missing diagram branches, and inconsistencies across related posts. Claude also handled Markdown-to-HTML conversions for crossposting to platforms like Gmail and Hashnode, though it occasionally needed correction to verify facts online rather than relying on memory.

the solution might be cancelling my AI subscription

this technology is horrific for attention. It’s a thermonuclear ADHD amplifier and I have seen the same effect in every single one of my adult friends. Folk running 3 screens simultaneously working on totally unrelated "projects" they have little hope of maintaining, and such little commitment to the outcome that the time is obviously wasted.

rustc_codegen_jvm

A custom Rust compiler backend that emits Java Virtual Machine bytecode. Compile Rust code into a runnable .jar compatible with JVM 8+.

Features:

  • Optimisations: Constant folding, constant propagation, and dead code elimination to generate clean JVM bytecode.
  • Standard Library Support: Basic core support on host target for JVM output.
  • Arithmetic: Support for integers, floats, and checked operations.
  • Operations: Comparisons, bitwise, and logical operations.
  • Control Flow: Support for if/else, match, for, while, and loop.
  • Type Handling: Type casting (as) and primitive types.
  • Functions: Function calls, recursion, and function pointers in multiple contexts (within ADTs, as variables, parameters, return values, or generics).
  • Data Structures: Arrays, slices, structs, tuples, and enums (C-like and Rust-style).
  • Memory Management: Mutable borrowing, references, and dereferencing.
  • Object-Oriented Constructs: Implementations for ADTs, including self, &self, and &mut self.
  • Traits & Closures: Dynamic dispatch (&dyn Trait) and closure capturing.
  • Unions: Supported for basic types (bool, i8/u8, i16/u16, i32/u32, f32, f64) and structs containing combinations of these types.
  • Output: Executable .jar generation for binary crates.
  • Testing: Comprehensive integration tests covering these features in both debug and release modes.
Why Hardened Images are Suddenly Everywhere

TL;DR:

To sum up, the reason behind 2026’s influx of hardened images is the increasing cost of extraneous code: transitive dependencies, unused packages, etc. As automated tooling drives up the rate of vulnerabilities, both publicly disclosed and black market exploits, the triage pipeline is necessarily straining under the volume, so that it has ceased to be a tolerable annoyance for developers, and has graduated into a serious liability. With increasingly malicious supply chain worms targeting the build pipeline directly, with AI accelerating both sides of the discovery-exploitation cycle, the price of shipping a whole distribution’s worth of software inside every container went up. Hardened images are the market finally pricing that in.

Know what your USB-C cable can really do

Useful and focused software, with a full GUI and a CLI option.