- A comparison of assertion libraries
-
I was not a fan of assertions libraries at first. Whether assertions provided by the testing frameworks were enough is debatable. But those libraries provides the way to write custom assertions closer to the business language. While the intention is commendable, I always thought this path was a slippery slope. If one starts writing such custom assertions, then they need to be tested obviously. And then, when will it stop?
However, there’s no denying assertion libraries make writing assertions more fluent, compared to the ones offered by testing frameworks. Besides, I don’t recall any project having custom assertions in the latest years. I tend thus to assume most developers have the same reasoning and it’s pretty safe to use those assertion libraries.
- Thinking about tests: assertions and matchers
-
Why some of us are still bothered about the way we write tests and what the “matcher” concept has to do with it.
- Qwen 3.8 27B is excellent, but it defaults to wildly overthinking things
-
Very interesting consequences of too much thinking. Couple with ponytail, it might be a match made in Heaven.
- Models Are Getting Dumber on Purpose
-
If the model doesn’t know things, something else has to, and that something is the harness: retrieval over a knowledge base, tool calls, web search, a filesystem full of docs. I wrote earlier that Rust is a harness for agents, a source of cheap machine-checkable feedback. This is the same shape from the other side. The model contributes reasoning, and everything it reasons about gets supplied at runtime.
Keep the reasoning, throw away all of the knowledge. Interesting prediction.
- Incident with GitHub.com
-
Post-mortem are always interesting. This one isn’t even original.
- Claude Code Router
-
I was (again!) close to my weekly Claude Code limit and search for an alternative. Mistral offers $10 free credits, so I wanted to use Claude Code as the client and Mistral as the AI backend. Claude Code Router seemed like an attractive solution.
I was unable to route requests to Mistral, though.
- Kilo Open Source CLI Coding Agent
-
Another alternative in my quest for a Claude Code alternative. Kilo is an OpenCode clone. On top, it has one additional pack of pre-configured free online models. Don’t use them for private data and be careful about commands you allow. Beside that, it works pretty well, if slowly.
For a free alternative, it’s pretty good IMHO.
- Java 27 features: Compact Object Headers by default, JFR redaction & post-quantum TLS!
-
- JEP 534: Compact Object Headers by Default
- JEP 523: Generational… I mean, G1 as Default GC in All Environments
- JEP 536: JFR In-Process Data Redaction
- JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3
- JEP 531: Lazy Constants (third preview)
- JEP 532: Primitive Types in Patterns, instanceof, and switch (fifth preview)
- JEP 533: Structured Concurrency (SEVENTH preview)
- JEP 538: PEM Encodings of Cryptographic Objects (third preview)
- JEP 537: Vector API (twelfth incubator)
- AI Coding will Prevent Expertise
-
The participants that leaned into heavier AI assistance:
- "Often skipped crucial planning stages, finding that because they hadn’t reasoned themselves into this position, Copilot had."
- "Finished with an 'illusion of competence' rather than true understanding."
- 3 constraints before I build anything
-
- One page or it doesn’t get built
- The core tech must be separable from the product
- One defining constraint must shape the product
- Primitive Type never
-
TIL.
A Java Geek weekly 151
A comparison of assertion libraries. Thinking about tests: assertions and matchers. Qwen 3.8 27B is excellent, but it defaults to wildly overthinking things. Models Are Getting Dumber on Purpose. Claude Code Router. Kilo Open Source CLI Coding Agent. Java 27 features: Compact Object Headers by default, JFR redaction & post-quantum TLS! AI Coding will Prevent Expertise. 3 constraints before I build anything. Primitive Type never.