The Codename One JavaScript Port Is Now Free and Open Source
Codename One's JavaScript port is now open source, available on every plan, and buildable locally without an account. ParparVM is the …

Author, DevRel, Blogger, Open Source Hacker, Java Rockstar, Conference Speaker, Instructor and Entrepreneur.

Codename One's JavaScript port is now open source, available on every plan, and buildable locally without an account. ParparVM is the …
Codename One statically links its lightweight UI into your native app, so an OS update cannot silently redesign it. New native-reference …

ParparVM went from 4.21x slower than warmed Java 25 to geomean parity, with six of ten benchmarks at or below HotSpot and peak memory below …

This week's release adds car dashboards, motion sensors, desktop-class input, foldables, Commerce, Secrets, versioned builds, and real video …

This week adds a privacy-first analytics API, a pure-vector map engine with pluggable native providers, Apple TV and Android TV support with …

This week adds a native Linux desktop port, an Apple Watch and Wear OS port, a visual Game Builder with a high-level gaming API, and …

A maintainer recently hid a destructive prompt-injection payload aimed at AI agents inside his own framework. That is a betrayal of the …

This week brings native Windows executables with no JVM, a portable 3D graphics API, a gaming API with Box2D physics, cross-platform …

An OpenAPI 3.x client generator that turns a spec into typed Codename One code, a JPA-shaped SQLite ORM, JAXB-shaped JSON / XML mappers, …

The open issue count dropped below 350 after a push through the oldest reports, and the same week brought native Mac builds, WebSockets in …

Deeper AI integration in the framework core, modern authentication via OAuth / OIDC and WebAuthn passkeys driven from the system browser, …

A walk-through of the new JDWP-based on-device debugging pipeline for ParparVM iOS apps and Android apps, with a step-by-step IntelliJ …

The iOS Metal renderer is now the default, the new Build Cloud console is wired into every Dashboard link on the site, and the weekly …

Device APIs move into the framework core, revolutionary Bluetooth debugging, and the Build Cloud's new UI is live in preview.

Java 17 is the new Initializr default, generated projects ship an AGENTS.md authoring skill that any AI agent can pick up (including a…

A new Metal rendering backend for iOS, a browser-hosted Skin Designer that retires the skin downloader, an iOS Reminders-style…

New iOS Modern (liquid glass) and Android Material 3 native themes, how they work in the Playground, in the simulator, and on devices, plus …
Do you ever pull your hair out in frustration, why isn't this a part of Java? Thanks to Manifold you can solve that problem for everyone.

Practical tips for debugging front-end network issues using browser tools, with insights on request replay, throttling & storage management.

Learn advanced front-end debugging: use console log levels, CSS styles, assertions, & more to simplify and enhance your development workflow

Explore strace for Linux debugging: origins, usage, JVM insights, and advanced tips in an in-depth, easy-to-follow guide.

Learn advanced techniques for debugging across the full stack, from frontend tools to system-level troubleshooting, streamline development.

Tired of frustrating bugs? Learn practical, real-world strategies for full stack debugging to track down issues from frontend to backend!

Explore how to use git bisect for efficient debugging, including tips on automating the process and handling skipped commits in your …

Discover effective solutions to common Kubernetes errors. Learn troubleshooting tips for configuration issues, image pull errors and more...

Learn how embracing failure can improve your app's quality, leading to early error detection, robust error handling & better overall …

Discover effective strategies for debugging serverless and AWS Lambda. Serverless can be painful, but not a bottomless pit of despair.

Explore the power of Wireshark and tcpdump for network analysis in our comprehensive guide, unveiling tips for effective troubleshooting.

Discover effective k8s debugging strategies, from kubectl debug and ephemeral containers to debuggers. Troubleshoot production/dev issues.

In this first part of our k8s debugging series we take an in-depth view of the underlying technologies from containers to orchestration.

Software testing functions as a critical debugging tool, significantly enhancing code reliability and streamlining the development process.

Learn how to leverage JMX and Spring Boot for advanced debugging and management, enabling efficient monitoring and control of Java …

Learn how to debug Java streams effectively using the peek() method with practical examples and tips for optimizing your code.

Explore the power of DTrace for system debugging and optimization: a comprehensive guide on its capabilities, performance, and applications.

Explore the journey of building gdocweb: a developer's insight into choosing Java 21, Spring Boot 3.x, and navigating tech stack challenges.

Avoid the small monolith antipattern. When do Microservices make sense? Avoid a solution worse than the problem, understand the tradeoffs.

What do you do when you have a bug? Using a well defined process instead of looking everywhere, can change the issue resolution process.

Nulls & checked exceptions are often promoted as bad things in Java, this isn't the case. Both carry significant advantage over …

Observability is an orchestra, not a single instrument. By combining multiple data points we form an accurate production narrative.

Master the art of debugging with strategies like Rubber Ducking, leveraging tools, and systematic checklists. Turn challenges into puzzles!

Explore the academic theory of the debugging process, focuse on issue tracking, team communication & the balance of unit to integration …

Delve into a two-pronged strategy that streamlines debugging, enabling developers to swiftly pinpoint and resolve elusive software glitches.

Unlock the secrets of debugging in software development. Dive deep into state bugs, thread issues, race conditions, and performance …

There's a newer approach to developer observability that helps with deeper understanding. Learn how code works in production, not in theory.

When looking at a vast project, how do we know the direction to narrow assumptions during debugging? When should we backtrack and rethink?

What are the pitfalls in replacing OracleJDK with OpenJDK? Simon Ritter has some interesting observations in his free new book.

"It works on my machine" is not an excuse. Sometimes we have bugs that we can't reproduce or understand. How do we investigate these bugs?

Applications fail, that's inevitable. Testing, QA, CI and defensive programming can make this a rare occurrence, but can't eliminate …
In the final installment of the Manifold series we discuss the final integrations, review the benefits, and discuss using it in a project.

Learn about the experiences of creating podcasts and how you can share your work in a video with a small (or bigger) budget.

What are the common vulnerabilities we need to be aware of? How do they look & how can we better protect ourselves from these common …
Two decades ago we worked on properties in Java. Lombok filled in that gap. Manifold aims to solve this same problem. Is it ready?
Write expressions like (bigDecimalMap[ObjKey] * 5 > 20) in Java. Manifold makes that happen. Expressions like "var distance = 5 mph * 3 hr"!
String manipulation is improving (JEP 430), but Manifold can help us now. Even on JDK 8, it goes further with a sophisticated template …
Parsing JSON in Java (and other formats) can be as easy as in JS. It can do much more while keeping the type-safety and deep IDE …

Join me for a livestream discussion on logging and how observability shouldn't just be the forte of DevOps. Logs are more than debug prints.

Does your app fail CI tests "sometimes"? Does it display flaky behavior? Did you add many logs trying to solve it? There's a better way: …

"Synchronized" was revolutionary and still has great uses. But it's time to move to newer thread primitives and rethink our core logic.

"Don't touch it, it works" is problematic. It leads us down a bad path. How do you handle a project that held that policy for years?

When it is done badly, the CI process can turn this amazing tool into a nightmare. CI should make our lives easier, not the other way …
Stop digging through variables in the watch to find nuggets of gold, or rerunning the expression evaluation. Use entity renderers instead.

Improving our DevOps skills can help us become better developers, team mates, and managers. Learn DevOps principles and advanced git!

Simple configuration that requires no code change can save you from hacks such as Log4Shell, & from vulnerabilities we don't know about yet!

Modern modular monoliths (and Moduliths) are redefining the monolithic architecture. Pick the best of both worlds with the hybrid approach.

Let's talk about debugging and observability. We work with debugging all the time, but how well do we know this common practice?

16 missing features in the VS code debugger that are available in IntelliJ. Are they worth switching your main IDE? Detailed lists and …
Debugging over the network using JDWP isn't hard. However, there are risks that aren't immediately intuitive and some subtle solutions!
It isn't just about memory leaks. Understanding how RAM is used and its content provides insight into the app you can't get in any other …
Track thread race conditions, figure out deadlocks, and understand the flow of asynchronous applications (even in custom code).
Java 8 streams improved readability and provide great debugging opportunities. There are amazing tools for inspecting collections and …
Learn about tracepoints (AKA logpoints) how exception breakpoints don't suck, watchpoints, filters & why method breakpoints are problematic.
Control flow is more than step over. You can "jump" to arbitrary code offsets while debugging to reproduce elaborate states and behaviors!
New online course is launching with the first video ready to view. More are coming in the coming months, also the book is ready for …

Got a chance to meet & talk to many interesting members of the Spring team and hear about updates to Spring 6 & Spring Boot 3 in my home …

Test Driven Development puts emphasis on unit over integration tests. The result can be lower quality featuring bugs baked into the product.

Hiring a developer relations/advocate is difficult. It's even harder to be the first DevRel in the company.

Security is at odds with productivity and team cohesion. It doesn't have to be. There's a balance that mitigates external and internal risk

Is API mocking in unit tests important or does it do nothing? The answer is nuanced but we do need such tests to reduce daily churn.

To leverage observability, we need a significant shift in our corporate culture that encapsulates the entire company and goes beyond tools.

Tracepoints, also known as Logpoints, are gaining name recognition. But some still don't know about the non-breaking breakpoints family.

Java has maintained its popularity for such a long period of time: its conservative, slow, and steady approach is key to its success

JavaZone is my favorite Java conference. I like it even more than JavaOne at Moscone! Great to be back to enjoy great content, food & …

When OSS advocacy goes too far and corporate greed takes over. FOSS is used as a tool to destroy competition and hurt the dev community.

Remember mainframes? Serverless is that: we own the machine and you rent out time on our big iron. We went full circle on progress...

Not another "break down the monolith" article, this article is about making the applicable decisions, measuring, and verifying the results!

Monitor your application in production and locally. Understand what's going on under the hood while debugging & changing settings on the …

DevOps revolutionized our industry. CI & CD made six sigma common. Still bugs make it to production past our tests. Fixing them is harder …

Production is failing and everything is lost? That used to be the case. Fail whale, hysteria and panic. Developer observability fixes this!

With these tools, track bugs within an application and its external dependencies without the source or deep knowledge of the environment!

Your git fairy godmother will test and locate bugs for you with a swish of her magic wand. All you need are the magic words: "git bisect".

Cloud rose to fame on the banner of cutting costs but with its tremendous growth, spend is rocketing. Learn how you can cut down overspend!

Outside of the language itself, collections are the most basic building block for Java applications. How do we expose them for debugging?

Parsing is a major source of production failures. Some are easy to track but some are insidious. Here's how you can debug them on the fly!

Learn a new codebase by diving into it with debuggers to understand the full extent of internal semantics and interactions in the project.

Learn how to improve the performance of a Spring application and diagnose production problems. Lessons from our live workshop covering JPA!

Scraping is a fragile discipline. As a workaround, we often use a server. Debugging these issues is remarkably difficult. Or at least it …

Connect to remote processes to solve bugs using remote debugging and observability. Learn how to securely scale debugging to match growth!

Due to their asynchronous nature and production complexities debugging messaging systems is remarkably hard... WAS remarkably hard...

RAM profiling has its strengths and weaknesses. The Debugger is a complementary tool to translate obtuse statistics to actionable changes!

Threading issues are a piece of cake with these simple debugger techniques. Yes, you CAN debug threads with breakpoints!

Rewriting applications is easy. Doing it while preserving compatibility... that's a bit hard. Doing it live in prod. That's the big …

We use annotations to denote transactional behavior in modern Spring, so we have no code, no failure, no debugging... But is this true?

Inspecting the data in the watch quickly is key to a fast and effective debugging session. Here's how you can see the data that's important!

Dial your debugging skills to 11 by leveraging some of the lesser known capabilities for debugging highly complex systems such as filters!

Where should you add logs in a method? Should you log in this method? If so what should you include in the log? How to phrase the message?

Failures in XML parsing can happen in production when the source data changes. These are notoriously hard to debug... At least until now...

A new issue impacting Spring Core on Java 9 and newer could be the next Log4J. Here's what I know so far (mitigation and investigation).

Hashcode and equals are at the crux of many hard to nail down Java performance issues. Here's how to track these in production!

Debugging race conditions is hard, unfortunately production environments are especially problematic for these kinds of problems!

We work with debuggers practically every day & yet so much remains unknown. We’re operating this complex tool while using 4 basic features

Interview with Lightruns Tom Granot about developer observability, how it's different? K8S, KoolKits and kubectl debug.

Learn about major milestones in app security: finding the issue, evaluating a breach, proving it, and validating the fix!

Posted two new videos in the "140 Second Duckling" series. They cover some basic and some little-known features of debuggers. Such as …

New OSS approach for debugging live applications - right from inside your IDE or terminal window, and without stopping the live application.

In this article, I want to go over three challenges we face when debugging modern applications: polyglot, unreproducible, data pollution.

I’m launching a new Twitter video series that will focus on teaching the concepts of debugging (and other concepts) in small video bites

Java and JavaScript are garbage collected languages. But memory leaks can still plague them. How to avoid, detect, and fix heap problems?

Continuous observability can facilitate a new generation of applications that will change the customer experience and yours.

Memory usage is one of the most important aspects for devs in general and Java SE devs in particular. GC tips, tricks, internals, and more!

Standard Java methods hashcode & equals are crucial to performance but this is very hard to detect as they're often too small for profilers.

A broken kitchen appliance leads me down the path of intelligent failure, downside risk, exponential growth and Cloud computing!

Can you cheat in a technical interview? This approach for hiring tuned over decades is how you moneyball hiring and work with great people!

Are the problems startups run into different from the ones experienced by Netflix, Hashicorp and Meta? Learn about increased productivity!

Skaffold is a cloud native open source framework from Google that lets SpringBoot devs build Kubernetes apps easily and deploy effortlessly!

We can see production disasters from miles away. Bad communication, missing skills, immature technological choices create ongoing disasters.

The book provides the theoretical infrastructure needed for the quality process. Viewed as a tutorial it’s pretty good for students!

Just in time for Halloween failures in production are scarier than most movie monsters. Here's a personal scary story of a production …

Debug conditional breakpoints, setValue, and more, for VSCode, IntelliJ/IDEA, PyCharm, WebStorm, Java, JavaScript (NodeJS), Kotlin & Python.

Java Debug Wire Protocol (a.k.a. JDWP) was designed for testing internally. Opening it to production is a HUGE security and stability …

When we get an exception stack, it can often contain the solution for our problem. But in more than one case, it's the edge of a thread...

Debugging isn't a part of curriculum, it's a crucial skill we're expected to "just pick up". Here we fill in the blanks on this black art!

A methodology of working with debuggers to solve almost any bug. This focuses on IntelliJ & Java but applies to almost all languages/IDEs.

8 proven debugger tips for developers. Improve debugging in IntelliJ IDEA. Learn advanced data collection, from breakpoints to new features!