Ilari Suhonen
banner
ilari.bsky.social
Ilari Suhonen
@ilari.bsky.social
programmer
Looks great, the IETF is amazing :)
October 11, 2025 at 9:06 AM
TeaVM seems promising if you can use WASM :)
October 9, 2025 at 9:07 AM
I guess that's true. It's possible to think of Rust's box as a kind of "virtual" object on the heap which wraps the real value but occupies zero bytes, much in the same way that the layout of structs is erased at compile time. In this way it's still a "box" and works the same as a real-life box.
October 8, 2025 at 11:26 AM
This is what "boxing" means in Java; a Box is a concrete object on the heap with a value that is distinct from the primitive value (indeed, primitive values can't be on the heap in the first place).

In Rust, primitive values do exist on the heap, and they may be placed there using Box.
October 8, 2025 at 10:58 AM
Kind of, but not in the implementation sense. See the attached screenshots; Rust places the raw value, 3, on the heap when it is boxed. Java, however, places a full "box", that is to say, an Integer object which contains the value 3, complete with its mark, klass pointer, and value.
October 8, 2025 at 10:54 AM
Box is a pretty confusing name, but I prefer it to HeapPtr, HeapPointer or HeapValue because pointers have their own semantics in Rust and Box is a shorter and cleaner name that doesn't pollute code all that much and clarifies the strong ownership semantics by reserving a specific term.
October 8, 2025 at 8:48 AM
In Java specifically, the reference on the stack is a pointer to the object header, which is the start of the value of the object on the heap.

In Rust this idea breaks down because Rust stores the value directly on the heap instead of putting it in a boxing object (like a struct)
October 8, 2025 at 8:41 AM
Hm, true. Originally, I believe, the Box was the object that was in the heap and contained the inner value of type T. So you wouldn't be "moving the Box", but moving the address on the stack that tells you where the Box is.
October 8, 2025 at 8:31 AM
Sometimes mythology, sometimes blue.lhf.linear_algebra_library...
October 6, 2025 at 9:23 PM
Honestly don't worry about it so much, learning one imperative language well puts you far on the track of learning the others.
October 6, 2025 at 9:19 PM
your kid sounds based
July 24, 2025 at 10:00 PM
Try looking into Collectors.groupingBy :)
July 24, 2025 at 8:23 PM
You can add the Russian ad list to your ad blocker's filter lists to block them :) easylist-downloads.adblockplus.org/ruadlist+eas...
easylist-downloads.adblockplus.org
July 17, 2025 at 5:22 PM
Here's another one which is probably illegal but won't re-compute if you call the method on the record and also doesn't come with the frustrating additional "get()" call.
July 17, 2025 at 5:14 PM
Like this:
July 17, 2025 at 4:06 PM
Work towards features like this is being done with JEP 468, for example :) For now, you'd still need a default constructor though and it would be a valid record at each step
July 17, 2025 at 4:03 PM
Not exactly what you want, but you can achieve this behaviour with a method that returns a supplier that returns a variable that was frozen by the lambda
July 17, 2025 at 3:59 PM
Just have to become a better VM-powered developer! The resources to learn about how the JVM organises objects in memory are available online (especially if you read C++)

With the new MemorySegment API, too, Java developers can do direct memory access :)
February 3, 2025 at 6:23 PM
I remember there being some problems with developing annotation processors when using Maven as a build tool — do you use a different build tool? If you use Maven, did you run into any quirks and if so, how did you circumvent them?
June 6, 2024 at 11:38 AM
brilliant i want it
May 18, 2024 at 8:11 PM
i don't remember the exact powershell commands to compile and run java without a build tool but i bet it's

cd $Env:UserProfile\Desktop
javac com\craftinginterpreters\tool\GenerateAst.java
java com.craftinginterpreters.tool.GenerateAst
May 18, 2024 at 8:10 PM
you should try setting up your project using IDEA community edition instead :) it's free !!
May 18, 2024 at 8:09 PM
noo :( java.* returns Nothing — packages aren't arranged hierarchically like folders, so for example the 'java.util' package is not "inside" the 'java' package, they are completely separate and just happen to both start with "java."
May 11, 2024 at 8:23 PM
Since you're trying to make an app, learn Kotlin, Dart or TypeScript :)

Kotlin and Dart are easier if you already know Java and TypeScript is easier if you already know JavaScript

(and also note that your first app will probably suck, especially if you're learning programming at the same time)
May 11, 2024 at 8:55 AM