Community
Chat Logs
Tuesday, April 14, 2026
- * kusanagi joined #java
- * MrHAPPY joined #java
- * zorone_ joined #java
- * domicron joined #java
- * mindCrime joined #java
- * kcomhnall joined #java
- * ferdna joined #java
- * rvalue joined #java
- * Pixi joined #java
- * Aedil joined #java
- * johnjay joined #java
- * LtHummus joined #java
- * B_fd joined #java
- * Gaz7051122720067 joined #java
- * Ragnor joined #java
- * leppard joined #java
- * MikeBux joined #java
- * jreicher joined #java
- * Exa joined #java
- Parajreicher: That's what "fast forwarding" means.
- ParaHistory linearization in general is not fun and cashmoney, especially for automation and tooling.
- jreicherPara: I've never heard of fast forwarding removing commits. Just not making them in the first place.
- ParaIt's not _removing_, it creates a different kind of commit. "Merge commit" is a bit silly name as it's really just a a commit with >1 parents.
- Parathere's this classic which is kinda related https://old.reddit.com/r/git/comments/1vsvgs/66way_merge_christ_thats_not_an_octopus_thats_a/
- jreicherI haven't yet taken the time to understand a commit with more than 2 parents
- ParaMaybe one day I'll actually use that (probably not)
- ParaI can invent a workflow for that, build features based on forks from common parent, never merge, collate releases through megamerges, leave it to someone else to figure out how to do mainline integration so that the future versions include the important stuff.
- jreicherActually, since we're talking about git merges, what conflictstyle do you use?
- ParaI haven't found the need to customize that, although I am aware there's apparently betterer ones than whatever the default is.
- Para9 out of 10 times IDEA's magic merge does things perfectly :P
- jreicherDoes IDEA show the common ancestor?
- ParaAny 3-way diff tool is usually enough to me tooling wise.
- ParaHm, I'm going to say maybe? I think it relies on the git executable doing the right thing quite heavily.
- jreicherThat's why I asked about conflictstyle. I don't think git will give you that unless you ask it by changing the style
- ParaWell, I guess I've kinda avoided that with the reliance of three-way diffs :)
- ParaIDEA has one, Beyond Compare is a very good standalone one.
- ParaYou can also run IDEA's on any two files with `idea diff filea fileb` which is very handy
- jreicherYeah I think most tools have good diff support. But conflict resolution is a little different. The separation between frontend and git's conflict markers surprised me when I first started looking at it.
- ParaI avoid commit related things through commandline, while git is otherwise excellent for cli out of the box, commit management through visual tooling benefits quite a bit from the visualizations.
- jreicherSame
- * kathadris joined #java
- * agnivn joined #java
- * acidsys joined #java
- [twisti]I've never found anything as intuitive and sensible as `git add -p`, maybe discounting the terrible edit mode
- jreicherI've always wondered when, if ever, I would need to do something like that, but I never find myself doing an edit I don't want in the index immediately.
- * MikeBux joined #java
- [twisti]Wild
- ParaIDEA's commit view and gitx allow per-line staging/commiting, so same difference.
- * Aedil joined #java
- dreamrealmorning
- * johnjay joined #java
- * IndoleaceticA joined #java
- dreamrealhttps://bytecode.news/posts/2026/04/trust-is-not-an-opinion
- javabotdreamreal's title: "Trust is Not An Opinion | bytecode.news"
- * agnivn joined #java
- kcomhnall~jlink
- javabotjlink is a tool to assemble and optimize a set of modules and their dependencies into a custom runtime image. For documentation, see https://docs.oracle.com/en/java/javase/17/docs/specs/man/jlink.html for more. Also see https://maven.apache.org/plugins/maven-jlink-plugin/ and ~graalvm
- nevetThe jlink Command
- * simon816 joined #java
- * agnivn joined #java
- * jreicher joined #java
- * GreenResponse joined #java
- * domicron4 joined #java
- * domicron joined #java
- * kcomhnall joined #java
- * leppard joined #java
- * stewi joined #java
- * ultralan joined #java
- * jamezp joined #java
- * stfstfm joined #java
- * agnivn joined #java
- * ferdna joined #java
- * agnivn joined #java
- * jink joined #java
- * agnivn joined #java
- dmlloydfinally posted part 2 of this series: https://word-bits.flurg.com/posts/the-new-reflection-intermediate-method-handles/
- dmlloydhopefully it won't be another 18 months before part 3
- dmlloydI'll die of old age before I finish the last part
- dmlloydsorry wrong link: https://word-bits.flurg.com/posts/the-new-reflection-intermediate-use-cases/
- javabotdmlloyd's title: "The new reflection - Intermediate use cases - David M. Lloyd"
- dmlloydI'm doing great
- * B_fd joined #java
- ParaI think someone missed an opportunity in naming those unreflects. Could've been e.g. deflect.
- dmlloyd<Sulu> shields! shields!!
- * kento2 joined #java
- * agnivn joined #java
- dreamrealdamn it dmlloyd
- dreamrealdmlloyd: that's a technically very interesting writeup but it desperately wants application
- dmlloydfair enough
- dmlloydI have at least three more parts planned out, so I'll try to get some better examples in there (hopefully without going too long...)
- dreamreallike, you obliquely refer to currying in *java*, and ... move right on past
- dreamrealI want to write this up for bytecode.news but I don't trust myself to synthesize the bits it needs
- dmlloydmaybe I'll cap the whole thing off with an explanation of how smallrye-ffm uses bytecode generation plus method handle magic plus indy to do its thing
- dreamrealyou need to start capping sooner rather than later
- dreamrealcheck the other channel?
- dmlloyd"no cap"
- dmlloydalso, six seven
- dmlloydgreetings fellow young people
- dreamrealbet
- ParaI saw an article that RAG's part of the AI hype might have passed now.
- ParaSemantic Web, moving from yet another loss to another.
- * Demi left #java (Closing Window)
- cheeserdreamreal: let chatgippity do it
- cheeserdmlloyd: that url is giving me a 404
- dmlloydthe second url
- cheeserah. missed that. tack.
- dmlloydI renamed it at the last minute
- Paragpt tell us a short summary about java methodhandles using genz language
- Para...or whatever it was
- cheeseralso, the "previous post" link it broken. :)
- dreamreal~gpt tell us a short summary about java methodhandles using genz language
- javabotJava MethodHandles in GenZ language can be seen as a powerful tool for direct method invocation. They offer a high-performance alternative to Java's reflection API, with lower overhead and better optimizations. MethodHandles support both static and non-static methods, along with constructors and field accessors. They can be combined in many ways to create complex behavior. You can find more at: https://docs.oracle.com/javase/7/docs/api/java/lang/invoke/M
- nevetJDK 26 Documentation - Home
- dreamrealsuggest https://word-bits.flurg.com/posts/the-new-reflection-intermediate-use-cases/
- javabotdreamreal's title: "The new reflection - Intermediate use cases - David M. Lloyd"
- nevetSuggested draft saved from https://word-bits.flurg.com/posts/the-new-reflection-intermediate-use-cases/.
- ParaThat's exactly the kind of failure ChatGPT would produce.
- * dreamreal giggles
- ParaClaude's thought prompts turned into genz but it's also having just as hard of a time parsing that
- Para"no cap thinking" and all that
- Para~gpt quack like a duck
- javabot"Quack like a duck" in the context of Java Virtual Machine is likely referring to the concept of "duck typing". However, Java does not support duck typing by default as it is a statically typed language. Duck typing is a concept of dynamic languages where the semantics of an object is determined by its current set of methods and properties, rather than its inheritance from a particular class or implementation of a specific interface. It's more about what
- javabotthe object is. In Java, you can somewhat emulate duck typing with reflection or interfaces.
- Para:D
- Para(really just wanted to see if the command actually works for us plebians)
- dreamrealI think nevet needs certain privilege levels, but not javabot
- dreamrealI'm nto even sure javabot has that concept
- Paraconcept of a plan^H^H^Hrivilege
- mawkI want to analyse a java library which is obfuscated; I gave up disassembling it and want to analyze its dynamic behavior; it communicates with a NFC tag using a reader interface I need to provide, so I can easily intercept commands and responses
- mawkbut it's also doing encryption, it uses BouncyCastle for it; I have to register BC as a security provider for it to work
- dreamrealok
- mawkbut all the interesting classes are final; how can I easily trace method calls in a library? like arguments and then response
- dreamrealthis is still on java micro profile?
- mawkI can also recompile BC with the right stuff inserted in the right place but it looks hard
- mawkno this is on PC
- mawkregular java 21 or something like that
- mawkI suppose it's not like python where I can just patch whatever I want in a library to wrap functions; that would be very useful
- dreamrealwell, you DO have the classpath at your disposal
- * Betal joined #java
- ParaI was thinking of byteweaving a logger.
- ParaWireshark on the BT traffic will also probably provide insight if that fits the setup.
- mawkit's NFC, I can get the commands and responses easily already, with pcsc_spy or just providing my own reader class
- mawkbut then it's still encrypted
- mawktheoretically I can provide my own crypto provider too but it's infinitely more complicated, it's a giant codebase full of runtime lookups
- mawkI guess the safest way is to recompile bouncycastle with my own logging inside it
- dmlloyd~byteman
- javabotdmlloyd, byteman is a tool for tracing, monitoring, and testing a Java program using AOP-ish constructs; see https://byteman.jboss.org/ for more info
- dmlloydor a debugger
- * rvalue joined #java
- cheeserbytebuddy proxies might work.
- * kathadris joined #java
- * johnjay joined #java
- mawko nice
- mawkthe debugger is a bit annoying I just want to trace not to break
- mawkbut probably jdb can do dprintf like gdb
- mawkyou do like dprintf file.c:42,'%s\n',local_variable
- mawkand it prints according to the format string when reaching the breakpoint instead of pausing
- dreamrealdo not use jdb
- dreamrealseriously
- dreamrealif jdb is your last resort someone has screwed up, badly
- mawklol
- dreamreal~jdb
- javabotJDB is a console-based debugger for Java that's only slightly worse than gdb. Don't use it. Using it is like voluntarily rolling around naked on a floor covered with thumbtacks and about 2cm of grain alcohol, but slightly less pleasant.
- mawkI like gdb
- dreamrealCool. Do you routinely drive rail spikes into your eyes, too?
- dreamrealjust curious
- mawkthe tooling for embedded is pretty bad
- mawkI gave up trying to integrate eclipse and the right plugins for debugging
- dreamrealBut you said you're on java 21 NOT on microprofile
- mawkgdb has a beautiful TUI that shows the code
- mawkyeah I mean I like gdb because that's what I use for embedded C
- dreamrealgdb is better for C than jdb is for java
- mawkbut the java in this case is on a regular pc yeah
- dreamrealddd works for java too, for the record
- mawkthe library I'm trying to reverse engineer is the NXP SDK to talk to their cards like Mifare DESFire
- mawkit's java only and I don't know much about java, and it requires an online license and a connection at all times to function
- mawkvery unergonomic
- p14nd4somewhat related (to low-level debugging utilities), i just saw that strace recently added color output
- * Drixtan joined #java
- * dreamreal shudders at strace for java
- mawkand they don't give me the time of day when I ask to sign the NDA to know the commands for the cards, so I'm figuring it out myself
- * agnivn joined #java
- * agnivn joined #java
- * stfstfm_ joined #java
- * szkl joined #java
- * domicron joined #java
- * johnjay joined #java
- * agnivn joined #java
- * stfstfm joined #java
- * B_fd joined #java
- dmlloydyou know, it would be neat to claude up a *good* console debugger for java
- DoofusCanadensiswould it be necessary with how good JetBrains' debugger is?
- * mindCrime joined #java
- * Steeve joined #java
- * agnivn joined #java
- * bdkl joined #java
- * Tenchi joined #java
- * domicron joined #java