Accepted to EuroSys '08!
My summer internship at IBM resulted in a publication in EuroSys 2008!
So, keep an eye out for my name in EuroSys proceedings near you. :)
My summer internship at IBM resulted in a publication in EuroSys 2008!
So, keep an eye out for my name in EuroSys proceedings near you. :)
Very interesting...over the past month, it dawned on me that distance of 500 miles came up a number of times. For example, my commute to work is 500 miles/week. Another example is the distance between Long Island and Ottawa is just under 500 miles. There are others but they are somewhat boring :) The Ottawa number is not something completely random...you see, I'm heading to the airport in little over an hour to fly to Ottawa for the Ottawa Linux Symposium 2007! OLS 2007, here I come!
Yesterday, I got my first check from IBM. As I expected, the check is quite plain - it just has the words "IBM Corporation" using the same font as the rest of the text, no special IBM logo or anything. Few months ago, I saw a check from Google that a friend had, and it was just as plain. Either way, I'm semi-rich now...well, I just not as poor as I was before. :)
Tomorrow, I start my summer internship. Yay! Most of you probably already know, but my internship is at IBM Research. Should be fun :) Stay tuned for a lot of "I can't talk about what I work on" :-P. I think it is pretty obvious that I'll be doing something that interests me => programming :)
So, finally, after long time of trying to get Unionfs into the Linux kernel, we submited it to linux-kernel, fsdevel, cc'ing all the people that should be cc'd (Al Viro, Christoph Hellwig, and Andrew Morton.)
You can look at this post as either a sequal to a post I made few days ago, or as another sequal to a post I made about a year ago.
So, while doing some more cleanup, Dave Quigley discovered this gem in Unionfs:
for (bindex = bstart - 1; bindex >= 0; bindex--) {
err = copyup_file(dentry->d_parent->d_inode,
file, bstart, bindex,
file->f_dentry->d_inode->i_size);if (!err)
break;
else
continue;
}
The particular piece of interest is the if statement:
if (!err)
break;
else
continue;
What does it mean? If there is no error, we break out of the loop. Makes sense. If there is an error, we go to the top of the loop. Makes sense...right? Well, what happens if you reach the end of a for loop? We go to the top of the loop! See the brain damage? We are at the end of the loop, so we don't need an explicit continue statement.
Here's the if statement the way it should be (for completeness):
if (!err)
break;
Oh, so simple, it almost brings a tear into one's eye.
Powered by a pile of c