Sign in

Matt Coley

@mattcoley.bsky.social
51 followers 56 following 56 posts

github.com/Col-E

PostsRepliesMedia
Matt Coley @mattcoley.bsky.social · 05/09/2026
Been a bit since I've posted, but I've been working on improving Recaf's deobfuscation capabilities. Here's a recent sample I was sent getting cleaned up.
111
Matt Coley @mattcoley.bsky.social · 01/04/2026
Reworked how Recaf handles Android content. We still don't have full assembler support but major strides in everything else have been made.
New workspace summarization for Android content, entry points for activity classes, used permissionsCall graph now supports Android contentSearch now supports android content
110
Reposted by Matt Coley
leewyatt.bsky.social @leewyatt.bsky.social · 25/03/2026
CarouselFX isn't just for image slideshows — it can also drive full app navigation with nested carousels, sidebar routing, and page lifecycle animations.
122
Reposted by Matt Coley
Dirk Lemmermann @dlemmermann.bsky.social · 24/03/2026
I created a website dedicated to #GemsFX, my primary open source project for #JavaFX custom controls. You can find it at gemsfx.dlsc.com. #ui #ux #java #javafx
gemsfx.dlsc.com
GemsFX — JavaFX Custom Controls & Utilities
GemsFX is a rich collection of custom JavaFX controls and utilities. Explore date pickers, search fields, paging, tree views, notifications and more.
0148
Reposted by Matt Coley
Gluon @gluonhq.bsky.social · 17/03/2026
JavaFX 26 is available! Featuring the new macOS Metal pipeline and a Headless platform prototype. Read all about it here: gluonhq.com/javafx-26-is... #Java #JavaFX
gluonhq.com
JavaFX 26 is Now Available - Gluon
JavaFX 26 is Now Available We are pleased to announce the official release of JavaFX 26. This milestone marks another significant step forward for the ecosystem, delivering a robust suite of new featu...
0219
Matt Coley @mattcoley.bsky.social · 18/03/2026
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.
101
Reposted by Matt Coley
Foojay, the Friends Of OpenJDK @foojay.io · 18/02/2026
Testing Java on BeagleBoards with ARM and RISC-V processors. @frankdelporte.be shows how these single-board computers handle Java applications. foojay.io/today/first-... #Java #ARM #RISCV #BeagleBoard
foojay.io
First Test of Java on BeagleBoards (ARM and RISC-V)
foojay is the place for all OpenJDK Update Release Information. Learn More.
033
Reposted by Matt Coley
leewyatt.bsky.social @leewyatt.bsky.social · 22/01/2026
JavaFX is missing a native Switch control — every major UI framework has one except JavaFX. I've implemented a SwitchButton with full theme support. Hope to contribute to OpenJFX. Thanks @dlemmermann.bsky.social for his help! github.com/leewyatt/Swi... #JavaFX
132
Reposted by Matt Coley
Johannes Bechberger @mostlynerdless.de · 09/01/2026
OpenJDK is faster than GraalVM* It's around twice as fast in one particular area. Read more in my latest tiny blog post at mostlynerdless.de/blog/2026/01...
mostlynerdless.de
OpenJDK is faster than GraalVM Java* - Mostly nerdless
OpenJDK is faster than GraalVM in some instances, but maybe it's not important? Discover more in this short blog post.
194
Matt Coley @mattcoley.bsky.social · 08/01/2026
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
221
Reposted by Matt Coley
Romain Thomas (@rh0main) @rh0main.bsky.social · 05/01/2026
I reverse engineered DexProtector, the security solution protecting applications like Revolut and other banking apps. From custom ELF loaders to vtable hooking, here is an insight into how these protections work and their limitations. www.romainthomas.fr/post/26-01-d...
romainthomas.fr
A Glimpse Into DexProtector | Romain Thomas
This blog post provides a high-level overview of DexProtector's security features and their limitations
13412
Reposted by Matt Coley
Brice Dutheil @bricedutheil.bsky.social · 28/12/2025
As an old and somewhat inactive Mockito maintainer I'd like to congratulate Tim for these past years keeping the light on the Mockito project. He his now stepping down. Thank you Tim. github.com/mockito/mock...
github.com
Stepping down as maintainer after 10 years · Issue #3777 · mockito/mockito
In March 2026, I will be Mockito maintainer for 10 years (nearly a third of my whole life). Looking ahead, I decided that a decade milestone is a good moment to pass on maintainership to other folk...
0175
Reposted by Matt Coley
Sean Barrett @nothings.bsky.social · 30/10/2025
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?
5553
Reposted by Matt Coley
rat @templeoftherat.com · 04/11/2025
another excellent eBay acquisition
Big box Tux Racer!!!! Wooooo!!!!
0131
Reposted by Matt Coley
Frank Delporte @frankdelporte.be · 30/10/2025
I interviewed @mattcoley.bsky.social about #Recaf and his #JavaFX libraries. But unexpectedly, I got a deep-dive course on #Java byte code, obfuscated code, and how JARs can be (ab)used to hide their real code...! www.youtube.com/watch?v=6NIJ... More info: webtechie.be/post/2025-10...
youtube.com
Matt Coley, diving into byte code and JARs with Recaf and JavaFX libraries (#22)
YouTube video by Frank Delporte
0103
Matt Coley @mattcoley.bsky.social · 24/10/2025
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.
163
Matt Coley @mattcoley.bsky.social · 24/09/2025
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? 👍
130
Matt Coley @mattcoley.bsky.social · 08/09/2025
Now Recaf 4X can inline return values of simple static methods (like a xor string decryption call in this case)
010
Matt Coley @mattcoley.bsky.social · 20/08/2025
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.
011
Reposted by Matt Coley
Johan Vos @johanvos.bsky.social · 28/07/2025
JavaFX now has a Headless platform. bugs.openjdk.org/browse/JDK-8... is now Resolved! Pfew, that took me 1 year, 5 months and 29 days. Goodnight! #JavaFX #Java
bugs.openjdk.org
Loading...
0238
Reposted by Matt Coley
Mike Stabile @mikestabile.bsky.social · 11/07/2025
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.
abc.net.au
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.
371178651
Matt Coley @mattcoley.bsky.social · 05/07/2025
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.
110
Matt Coley @mattcoley.bsky.social · 03/07/2025
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
100
Reposted by Matt Coley
Tim Blazytko @mrphrazer.bsky.social · 27/06/2025
The slides from our @reconmtl.bsky.social talk, "Breaking Mixed Boolean-Arithmetic Obfuscation in Real-World Applications" (CC @nicolo.dev ), are now online! Slides: synthesis.to/presentation... Plugin: github.com/mrphrazer/ob...
0105
Reposted by Matt Coley
Johan Vos @johanvos.bsky.social · 21/06/2025
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?
291
Reposted by Matt Coley
Johan Vos @johanvos.bsky.social · 05/06/2025
Headless JavaFX platform passes almost all tests, with remaining failures being understood. Time to bring this to the next step: mail.openjdk.org/pipermail/op...
99% success
053
Matt Coley @mattcoley.bsky.social · 20/06/2025
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.
131
Matt Coley @mattcoley.bsky.social · 01/06/2025
010
Matt Coley @mattcoley.bsky.social · 29/05/2025
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.
110
Matt Coley @mattcoley.bsky.social · 29/05/2025
You have no idea how much pain this stupid white rectangle problem has caused me. Still have zero clue what is causing it... 🥲 #JavaFX
100
Reposted by Matt Coley
Johan Vos @johanvos.bsky.social · 10/05/2025
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
061
Matt Coley @mattcoley.bsky.social · 11/05/2025
Ever try and put #OpenGL stuff into a #JavaFX scene? I have and was kinda disappointed by the built-in offerings, so I made a simple double-buffered canvas. I also recently saw a comment about Shaders in JavaFX and also demonstrated that at the end too 🎨 www.youtube.com/watch?v=zf7g...
youtube.com
Drawing OpenGL to JavaFX
YouTube video by Matt Coley
030
Matt Coley @mattcoley.bsky.social · 26/04/2025
I'm working on a Docking Framework for #JavaFX - Its very much a WIP, but if anyone has a use for such a thing and has feature requirements/ideas I'd love to hear them. github.com/Col-E/BentoFX
131
Reposted by Matt Coley
rat @templeoftherat.com · 24/04/2025
don't do drugs kids, you might end up working at Microsoft on flawless blazing fast products like Visual Studio
051
Matt Coley @mattcoley.bsky.social · 10/04/2025
"JavaFX has a perception problem" 💯 People will say "Why not Compose?" before "Why not FX?" even though Compose doesn't have a functional context-menu component for desktop yet. Compose just has a much better PR department even though for desktop its a much lesser offering. FX needs a PR boost.
162
Reposted by Matt Coley
Fabio Niephaus @fniephaus.com · 28/03/2025
Our "javac on #WebAssembly" demo (and code!) for #WasmIO25 is up on GitHub in case you want to play with the new Wasm backend for @graalvm.org! 🚀 More details to follow soon! graalvm.github.io/graalvm-demo...
12614
Matt Coley @mattcoley.bsky.social · 24/03/2025
The comments on this are like if a bunch of vegans walked into a sandwhich shop and got mad that ham sandwhiches were the shop's most popular item. System engineers aren't fans of Java. Web UI designers aren't fans of Java. None of this is surprising, none of these spaces are Java's goals.
260
Reposted by Matt Coley
Official account of jfxcentral.com @jfxcentral.com · 20/02/2025
We have a lot of new content on JFX Central thanks to @chriswhocodes.bsky.social: Chris Newland: www.jfx-central.com/people/c.new... DemoFX: www.jfx-central.com/tools/demofx JitWatch: www.jfx-central.com/real_world/j... Video interview with Chris: www.jfx-central.com/videos/8s14h...
jfx-central.com
JFX-Central - Everything JavaFX
JavaFX, libraries, real world, news, videos, downloads, tutorials, blogs, tools, open source
0116
Matt Coley @mattcoley.bsky.social · 19/01/2025
I've been plagued by this unintuitive white flickering bug for 2+ years and finally had enough. I made a Java agent that double checks if your calls to JavaFX methods are happening on the application thread. If they aren't you can configure it to warn you via a listener. github.com/Col-E/javafx...
github.com
GitHub - Col-E/javafx-access-agent: An agent to check if your calls are properly being made on the JavaFX application thread
An agent to check if your calls are properly being made on the JavaFX application thread - Col-E/javafx-access-agent
111
Matt Coley @mattcoley.bsky.social · 28/11/2024
Gradle (Elephant)
Java (Duke)
Golang (Hiding below the table)
Rust (The not-so-turkey thanksgiving meal)
Kotlin (Kodee)
Android (Robot)
051