Last time I checked the clock, it was 11:00am and right now I have no idea because I’m in the flow state. The bug had no chance. I’m now wrapping up the report in my pull request. An Outlook popup breaks through my concentration, reminding me of a meeting in 5 minutes!!! I hop onto teams but it’s not connecting. Oh no! This is the worst time to lose my connection. I have no time to debug, not even…
A while back my machine was so messed up that I could barely ssh onto it. 3,200% CPU utilization - all 32 cores on the host were fully utilized! Compare that to my last bug where it only used 1 core, 100%
I hear the misconception that a server can only accept 65K connections or a server consumes a port for each accepted connection all the time. Here is a taste of some of them:
For the last couple of months I’ve been working on a Java code navigator that fits into your browser. This won’t replace your IDE. Code discussions are handled better by github or gitlab. However, if you want to share links to your code with others that let them navigate all the way down to the JDK, then give this a try.
The sirens were place a couple years ago when I received a bug report claiming that I caused 100% CPU util on a VM when it should have been idle. I was suspicious at first because I try my best to avoid patterns such as while(true) and for(;;).
Today I learned that Javascript does not need a StringBuilder for accumulating a large number of concatinations. As a Java programmer, that came as a shock to me. This article summarizes my exploration of this fact.
What I Learned: Locking a readlock, then locking the write lock on the same lock creates a deadlock. Deadlocks created using locks instead of monitors does not appear in thread dumps (like those created by kill -3 (linux) or Ctrl+Break (windows)). Keep digging and you’ll uncover a nasty incorrect assumption you’ve been making. -XX:+PrintConcurrentLocks detects some deadlocks…
My $15 Logitech M100 mouse has served me well for at least two years. It’s been so long that I can’t remember when I got it. It’s suffered so much abuse you can no longer make out the Logitech logo on the bottom. This is the second time it started double clicking. The first time I was able to fix it by opening it up and blowing compressed air at it. If you’re experiencing double click, you might…
Instead of throwing away something, you should try to fix it, because the root cause might be simple to fix. I recently attended AWS Summit 2019 and VMWare kindly gave away these cool Mini Cinema Lightboxes! They are great decorations for a wedding or dinner party.
Suppose you wanted to unit test java.util.Map. How would you verify each implementation? Take a quick look at the Map javadoc, and you’ll find 20 implementing classes. Each Map implementation has common unit tests for requirements that you want to avoid copying. In this post I illustrate two techniques you can use for testing common requirements over implementations by testing my simplified…