- Cherry-pick automation with Bash
-
I manage my Jekyll blog in a Git repo. My publication process uses 2 branches:
mastercontains all production contentfeature/newpostshas the new blog posts, ready to get published, one commit per post
To publish an existing post:
- I check the to-be-published post in the
feature/newpostsbranch - Then, get the associated commit
- And cherry pick it in the
masterbranch - Finally, I push
While not that slow, this is very boring. This post explains how I "automated" the above process using bash magic.
- What’s new in Kotlin 2.2.21 (and 2.2.20!)
-
- Jackson 3.0.0 (GA) released
-
- Java Baseline is now 17
- Maven
groupId, Java package changed totools.jackson - Removal of all Deprecated 2.x functionality
- Changes to Default Configuration Settings
- Immutable ObjectMappers, Configure using Builder
- Unchecked exceptions
- Embedding of "Java 8 Modules"
- Improved Tree Model
- Deprecated Modules: Hibernate data type, JSON Schema
- FFmpeg to Google: Fund Us or Stop Sending Bugs
-
And here we go again: a megacorp with gazillions of money leans on OpenSource committers. Not only do they make profit out of free workforce, but they expect bugs to be fixed in a limited timeframe. Can you be more cynical?
- The Root Cause Fallacy: Hidden Causes
-
TL;DR: There probably isn’t one single root cause, but multiple ones with varying levels of severity. Gotta catch 'em all!
- MockK: Under the cover
-
The post is less about MockK than how it uses specific Kotlin features to offer a friendly API checked at compile-time.
- Default Value
varargT.() → Unit
- 7 Common Kubernetes Pitfalls
-
- Skipping resource requests and limits
- Underestimating liveness and readiness probes
- "We’ll just look at container logs"
- Treating dev and prod exactly the same
- Leaving old stuff floating around
- Diving too deep into networking too soon
- Going too light on security and RBAC
- Agentic Pelican on a Bicycle
-
The post describes quite an interesting experiment: asking generative AI agents to "improve" upon their first attempt, and see what happens.
- Software Development in the Time of Strange New Angels
-
Perhaps a good prediction of times to come. Worth thinking about.
- Mergiraf: syntax-aware merging for Git
-
As soon as you use any Source Code Management system with a big enough team, you are bound to run into merging conflicts. In Subversion, the granularity was the file: conflicts arised as soon as a file was modified by multiple parties. Git is better in that the granularity is the line. Yet, it can still be a huge PITA to solve 3-way merges. Semantic merging goes beyond the characters to understand the code. This is a great help!
- Running Java on iOS: Gluon Introduces OpenJDK Mobile Resources and Automated Build Pipelines
-
Last month, I mentioned that Swift is going to Android. At the same time, the opposite is happening: Java enters iOS.
- Spring Framework 7.0 Release Notes
-
Spring is in the air!
- HttpHeaders changes
- Servlet 6.1 and WebSocket 2.2
- JPA 3.2 and Hibernate ORM 7.1/7.2
- Persistence unit management for JPA 3.2/4.0
- JMS destination handling
- Jackson 3.x support
- kotlinx.serialization support
- Google Gson support in WebFlux
- GraalVM Native applications
- CORS Pre-Flight requests behavior change
- Null safety
- Class-File API usage for Java 24+ apps
- Programmatic bean registration
- Consistent proxy type defaulting and consistent opting out for specific beans
- Resilience features:
RetryTemplate,@Retryable,@ConcurrencyLimit - Embracing JPA 3.2 and Hibernate
StatelessSession - Introducing
JmsClientand revisitingJdbcClient - API versioning
- HTTP Interface Client configuration
- HTTP Interface Client support for
InputStreamandOutputStream - Easier message converters configuration with
HttpMessageConverters - Pausing of Test Application Contexts
- Improved Dependency Injection in
@NestedTest Class Hierarchies - RestTestClient
- Bean Overrides for non-singleton Beans
- Context Propagation for Kotlin Coroutines