Matt Coley

@mattcoley.bsky.social

https://github.com/Col-E/

CarouselFX isn't just for image slideshows — it can also drive full app navigation with nested carousels, sidebar routing, and page lifecycle animations.

The worst part about AI slop isn't the output. Its the people who generate it. Sure, maybe the code does what its supposed to. But "look at this awesome thing I made" is off putting. A project manager doesn't make the projects they manage. The developers do. Similarly, 'you' didn't make the thing.

Any #JavaFX people experience removed nodes being stuck around in memory after they've been removed from the scene graph? If I have a node that has a ~500 MB byte array, and then I remove it, I should be able to expect that to be freeable right? Heap dump GC root for reference

Bild

I spent about two days learning and implementing atmosphere rendering for planetary views from space. The tutorials and other sources I found on it were prettty lacking in implementation details but I got there in the end. Too late now, but does anyone have any recommends? Should I write an article?

Bild

If you're using the JavaFX "Flowless" library for virtualized controls and are observing sluggish performance, do not add stylesheets to the Virtualized Node. Add them to the Scene. I observed an immediate 10x performance boost by doing this.

I love reading these articles and thinking "Yup, that's us on the job. We're part of the industrial inefficiency complex" Artifactory set up but nobody uses it? 👍 CI jobs with zero caching? 👍 + they can recursively spawn other jobs? 👍 + they can trigger from simple "fix typo" commits? 👍

Brian Fox@brianfox.bsky.social · 11mo ago

Free isn’t free: the infrastructure behind open source has real costs, and it’s time we aligned usage with responsibility. This morning we jointly launch a new blog and open letter on sustainable stewardship. www.sonatype.com/blog/from-ab...

Recaf's interactive deobfuscation window now lets you specify how many passes to run. For some obfuscation patterns that can't be one-shot in one linear pass (opaque control flow leading to more opaque control flow repeated N times) increasing the pass count to N+1 reduces it completely.

Australia's decision to require age/identity verification, including facial scans, in order to do a Google search is dystopian. We're watching the death of an open, anonymous internet, and the gradual takeover of information online by the state — under the guise of protecting children.

Australia is quietly rolling out age checks for search engines like Google

Just as Australians are adjusting to the idea of having their ages checked for social media, age assurance rules are being applied to search engines and many other corners of the internet.

abc.net.au

Updates to how some of the transformers work has cleaned up the output on most obfuscated samples I have. Here's a demo on a Minecraft server plugin getting optimized back to almost perfectly legible source.

Honestly, fuck Hotspot sometimes. A method body can just *lie* about how long its data is. Obviously nobody who makes a class parser is going to be keen on this until they see it in the wild. Does the spec say anything about this? Of course not!

I spent the whole day wondering why my parser wasn't reading this class only for it to be a hotspot implementation "feature" of -noverify/-Xverify:none

Getting tired of the "AI can generate code much faster than you" slogan. Most often, the problem is not generating code. The hard part is understanding the code. What is it doing, how and why? And is that what you expect it to do?

Alright, I rewrote my #JavaFX docking framework, BentoFX, from scratch (again) after incorporating it into multiple projects and learning what the pain points were with the existing architecture. Here's what Bento looks like in practice:

Bento is used in Recaf to create the regions seen in the application UI. On the left there is a file tree with a tab titled "Workspace". On the bottom there is a logging console with a tab titled "Logging". In the center of the app is the display holding multiple tabs for classes decompiled by Recaf. In the currently selected tab's content there are "side-tabs" which show additional information about the class, like the fields and methods declared and inheritance structure.A similar view to the prior image, except the workspace, logging, and tool tab displays have been collapsed to maximize real estate for the primary display holding decompiled classes.

In more positive news, I've made a lot of progress on BentoFX. Its still not at a stable release point, but while working on porting Recaf to use it I noticed and cleaned up a lot of bugs and lacking capabilities.

One of my favorite t-shirts. But also a broken promise by a large company. I keep believing it's not too late though. Technically, we already have Java running on iOS. But we need more support, technical and marketing. And courage.

javaone t-shirt with mobile devices and Oracle on it