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… Continue reading Java 10 HotSpot Disassembly on macOS High Sierra
The Cost of Contention
Martin Thompson first reported on the cost of contention using a simple benchmark that measures the time to increment a 64-bit counter 500 million times using various strategies. Results were reported here (section 3.1) and here (Managing Contention vs. Doing Real Work). I re-implemented this benchmark here. https://gist.github.com/nikolaybotevb/bc8cc1cdfa2f7cc212a915c487771d53 The results I observed (running on Java 9… Continue reading The Cost of Contention
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… Continue reading Gradle Build with Java 9 Modules and Kotlin
Cloud Storage Costs
Overview Recently I did a survey of cloud storage options and their costs. My focus was to find the cheapest, scalable storage solution that I can use with minimal cost to begin with. If you are starting a new mobile app project, without any seed funding, the best choices are still Google Cloud Datastore and… Continue reading Cloud Storage Costs
Legacy
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… Continue reading Legacy
Product Management
As a Staff-level Software Engineer, this post by Joel Spolsky best describes my standard of excellence for Product Managers – mostly in terms of the degree of attention to detail and technical aptitude that I would expect from a self-respecting, ambitious Product Manager. Even though Joel is talking about his experience as a Program Manager at Microsoft, most… Continue reading Product Management
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… Continue reading The Software Business
Acting Classes in Los Angeles
I finally went over my notes today and pulled out all the Los Angeles Acting class recommendations we got from Deb Fink at her Audition Workshop in the SF Acting Academy last year. Here is what I uncovered. Groundlings and Upright Citizens Brigade – Improv and Sketch Comedy in Fairfax / Hollywood. Beverly Hills Playhouse – acting classes for… Continue reading Acting Classes in Los Angeles
WordPress on AWS
Introduction I had been running my WordPress blog on a shared hosting account at a shared hosting provider for a while now, when about a month ago I decided to consider alternative solutions. In particular, I wanted to see if I can lower the cost of running my site. Here was my starting point: Web Hosting from shared… Continue reading WordPress on AWS
On Presence
Every time we hit a wall in training it is because we stopped being present. One can be performing an activity better than 99.9% of the world population and still be completely asleep while doing so. As long as presence is maintained there is no limit to how far we can extend ourselves in any endeavor. It… Continue reading On Presence
Trance
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… Continue reading Trance
Random Thought
Here are some tips and hints for success. Keep code reviews short; Follow style guides to the letter.
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.… Continue reading Dart vs Java (cont'd) — Richards and Tracer
Dart vs Java — the DeltaBlue Benchmark
As of the time of this writing the performance page on dartlang.org 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… Continue reading Dart vs Java — the DeltaBlue Benchmark
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… Continue reading The History of Many-core
Value Objects in Newspeak
This is a quick dump of a rough design sketch for Value objects in Newspeak, which builds upon section 3.1.1 of the current version of the Newspeak language specification. Value classes allow explicit intent. The class declaration is automatically annotated with metadata that expresses the intent for instances to be value objects. Value classes use… Continue reading Value Objects in Newspeak
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… Continue reading References and Actors
On Openness
I am a firm believer in openness. That is the reason I believe open source has such great value. The way I see it, the word open in “open source” does not just refer to the source code: it also means open communication, open structure, open management… openness in every aspect of a project. Yet,… Continue reading On Openness
Open Source food
If there is such a thing as Open Source food, then this must be it.
Integrated split editor prototype
A new split editor prototype that is integrated into the Eclipse workbench API has been available as a patch on the Eclipse Bugzilla for some time now. Unfortunately, I have not able to create an easily deployable plugin that can be installed easily in any Eclipse 3.4 distribution (by copying to the dropins or plugins… Continue reading Integrated split editor prototype