Ok, I need a good moan about this to the extent that it deserves its own blog post, but I had it with the bloody Thread.sleep() method in Java! I know it was the only way to “sleep” back in the day but seriously, but seriously, we have TimeUnit since JDK 1.5 — and nowadays […]
Posts Categorized: Tech
Issue with Jersey Multipart Libraries: Missing start boundary
This one had me pulling my hairs off and going crazy trying to figure it out so I thought it deserves a space on my blog 🙂 While it’s what it looks like a small fix, it turned out to be a b**ch in terms of googling for an answer as whatever combination of search […]
Frantic WordPress Theme — Update
OK, so I’ve decided perhaps it’s time I give my blog’s look a refresh. I looked around and found this WordPress theme called Frantic on WordPress theme website: https://wordpress.org/themes/frantic/. It had the right look I was after but was missing one tiny thing — a “footer sidebar”. Previously I was using the Intrepidity WordPress theme […]
Of Validating Inputs in Java and Designing for Extension
I read recently an article on DZone titled “Defensive Programming: Why You Shouldn’t Check Input Parameters for Validity” (by the way, you can find the article here: https://dzone.com/articles/defensive-programming-via-validating-decorators) and it made me think — and write this post 🙂 For those of you who don’t have the patience to read the full article, the author […]
Gradle — Customize Startup Scripts for Java Applications
OK, so you use Gradle to build your Java projects. And if you use the application plugin in Gradle then you get also the startup script generation so you can ship that straight into your prod servers. Thing is, the application plugin generates a “standard” script — which does include the classpath and a whole […]
JaCoCo / Gradle — Excluding Source Files and Classes
I have switched recently from Cobertura to JaCoCo so I started becoming more familiar with this tool. (And since you asked, one of the main reasons for the switch is that Cobertura is absolutely terrible when it comes to Java lambdas and pollutes the output with a lot of warning and messages about malformed Java […]
Automating Twitter OAuth Tasks with node.js
At Netflix, we made a name for ourselves for being a Java shop. A quick look at our Netflix OSS page on Github reveals a whole suite of projects all Java-based. However, apart from the Java projects that are going on in Netflix – and the JVM-based projects (we DO Groovy and Scala too!) – […]
Start Your Own Open Source Project using SourceForge
It’s interesting what one can find when cleaning up an old laptop before dumping it 🙂 Old photos that I’ve long forgotten of (some embarrassing ones too, omg the haircuts I supported throughout the time! :D), snippets of code back from the day when technology X was just coming out of its stables and I […]
Jenkins CI Trick to Prevent Task from Triggering Itself on SCM Commit
I’ve come across this recently working on a project in Netflix and thought worth sharing. The project I was dealing with packages some JavaScript code which, before deployment, needed to be minified. We have set up our Jenkins task such that it polls Git for changes in the master branch and when the changes are […]
Convenience Factory Methods for Collections in Java 9
Looking the other day through the JDK Enhancements Proposals (aka “JEP“) I came across JEP-269: “Convenience Factory Methods for Collections”. Oh hello, where have you been all these previous JDK releases? 🙂 It seems finally the Java world has woken up to what other JVM languages (and not only!) have been offering for a while: […]