Java 10 HotSpot Disassembly on macOS High Sierra

Printing Generated Assembly Code From The Hotspot JIT Compiler documented back in 2013 how to view Java Hotspot generated assembly code. While still useful, the disassembler plugin referenced in the post is no longer available in binary form as the Kenai project has been decommissioned. A number of references are available on how to build the […]

Gradle Build with Java 9 Modules and Kotlin

When starting a new Java project recently, I found it surprisingly difficult to setup the Gradle build with support for Java 9 modules and the Kotlin language. For others who might find themselves in the same bind, here is a gist with the simplest, minimal gradle setup I came up with that includes: A multi-project […]


A couple of days ago, while planning a vacation trip with my girlfriend and contemplating spending some time on Christmas Island en route back from New Zealand, I stumbled upon these photos of the hydrogen bomb explosions, which were conducted off of the island in the late 50s. Seeing these photos stirred something very deep […]

The Software Business

I was reminded today of a quote by Bill Gates I had read 6 years ago in then-Sun Microsystem’s just-ex-CEO, Jonathan Schwartz. Here it is: The software business [is] all about building variable revenue streams from a fixed engineering cost base This is from Schwartz’s Good Artists Copy, Great Artists Steal post, which is also very informative about how Software Patents […]


Ali Saif describes a state of mind, which has been predominant in my life, so well in The Plunge and Surface: “The sharp awareness of the present-moment and spontaneity of emotional response is lost, made sluggish rather. I often find I smile at something a microsecond too late and then remain smiling while others have […]

Dart vs Java (cont'd) — Richards and Tracer

This week I managed to port the rest of Dart’s benchmark_harness examples to Java. The experience of porting Richards and Tracer was as smooth as that of porting the DeltaBlue benchmark. The only unfamiliar (and interesting) Dart feature I encountered that is worth noting was the ability to declare and pass method parameters by name. […]

Dart vs Java — the DeltaBlue Benchmark

As of the time of this writing the performance page on tracks Dart VM performance as measured by the DeltaBlue benchmark. I ported the benchmark_harness Dart package (including the DeltaBlue benchmark) into Java and ran against the latest Java 7 and 8 JDKs. The experience of translating Dart to Java was surprisingly smooth. Some […]

The History of Many-core

When looking for a good reference to back the “many-core problem” assertion in my Master’s thesis, this the best I could find as a prime source. Multicore: Fallout of a Hardware Revolution holds an excellent description of the reasons behind the shift from increasing clock speeds to multiplying the numbers of cores in modern CPUs. In […]

References and Actors

In E, references are distinct from the objects they designate. This might seem apparent, but it is not necessarily so. In traditional languages like Java, first-class references are almost indistinguishable from the objects they designate. They are internally represented as 4- to 8-byte pointers and while there is a distinction between reference equality (two references […]