Quiz answer: memory leak in Java

I posted a little quiz yesterday, and here is the answer. The short answer is that InputStream needs to be closed. It’s easy to see why if it’s FileInputStream because you know the file handle needs to be released. But in this case, it’s just ByteArrayInputStream. We can just let GC recycle all the memory,…

Quiz time: memory leak in Java

Today I had an interesting debugging exercise, and I felt like I learned a new lesson that’s worth sharing with the rest of the world. I had the following code, which takes a small-ish byte array and deserializes it into an object (let’s say someNotTooBigData is something like new byte[]{1,5,4, … some data… }.) Seems…

Ken Cavanaugh had passed away

I’ve just learned that Ken Cavanaugh had passed away. He was my colleague back in Sun, and we had worked on a few small projects together. When I joined Sun, he was already THE CORBA guy AFAIK, and when I left Sun, AFAIK he was still THE CORBA guy. And I was at Sun for,…

My epic battle with findbugs-maven-plugin and how I utterly lost

It started quite innoucently. I was looking at this thread in Jenkins dev list and thought it’d be a good idea to get some critical findbugs errors to fail a build. My goal was simple, I want to run some high-priority findbugs checkers during the build, and if they report any error, I want the…

I’m traveling for the next two weeks

I’m at San Francisco airport now to start my first around-the-world tour! My first stop will be Tokyo, my home town. There’ll be a Jenkins user meet-up, whose 88 seats are booked solid. This time the topic is about various scripting languages, and I’ll be presenting about the recent Ruby/Jenkins work in the core with…

Upcoming Webinar “Mastering Jenkins Security”

I’ll be doing another Jenkins webinar titled “Mastering Jenkins Security” in the next Thursday 10am Pacific Time. It’s a free event, so please register. After the first webinar, I got a number of feedbacks about the future webinar topics. So when we thought about doing the next one, this came fairly naturally. Unlike the first…

Bye bye Hudson, Hello Jenkins

(This post was originally made under an incorrect location, so I’m moving it here. The contents haven’t changed since its original post on Jan 11th 2011.) As some of you may know, toward the end of the last year, Hudson project has experienced a fire drill — you can see it here, here, here, and…

Announcing Beta Availability of InfraDNA’s Certified Hudson CI (ICHCI) Server

I’m happy to announce the beta release of InfraDNA’s Certified Hudson CI (ICHCI) Server. ICHCI is a value-added distribution of Hudson, and here’s why I think it’s useful: First, ICHCI is more stable sustaining release trains from Hudson; ICHCI is periodically branched off from a version of Hudson that was of particularly good quality. Its…

Hello

For the longest time I haven’t really done anything about kohsuke.org, but as I left Sun/Oracle, I decided to put a bit more effort into it. So this is the new home. For the time being, I plan to post my blogs both on java.net and here.