I love learning a term for a vague idea that has been with me for a while already; it gives the fuzzy cloud in my head a box to live in and a label to put under... not to mention convenient stowage when I need room for other things. One such illuminating moment was listening … Continue reading Climbing the monolith
Category: programming
Phantomjs not showing text
TL;DR if Phantomjs doesn't show any text/fonts, give it a Truetype web font. Despite Phantomjs' [1] development slowing down [2] it still brings most of the features I need for regression testing web applications. And, thanks to Docker, it should be possible to operate it for a long time to come. Installing and operating Phantomjs … Continue reading Phantomjs not showing text
Eclipse freezes on Windows 10 creator’s update
Symptoms: Eclipse used to work fine under Windows 10, suddenly hangs short after start. Solution: uninstall Linux subsystem or don't use Git in Eclipse Explanation: the Eclipse egit plugin looks for bash, which normally doesn't exist on Windows. When the Windows subsystem for Linux is installed, bash does exist, but blocks with a message ("click … Continue reading Eclipse freezes on Windows 10 creator’s update
Getting test coverage reports for integration test
I'm a vociferous supporter of integration tests with an embedded servlet container and in this post I'll show how to get test coverage for the classes touched in those integration tests. All test coverage gauging tools I know instrument code under test either at build time or run time through Java agents. Because the code … Continue reading Getting test coverage reports for integration test
Java synchronized method concurrent execution
I read this puzzle years ago (unfortunately I can't find the reference) but didn't appreciate it at the time. Java synchronized methods [1] can supposedly be invoked only by a single thread at a time. The essence of aforementioned puzzle was that, if the synchronized method obtains a lock on the object the method belongs … Continue reading Java synchronized method concurrent execution

