Wednesday
Jun042008

Back from the Dead

Well, the title isn't exactly accurate.  I haven't really been dead, so please don't come after me with fire and pitchforks.  But I certainly haven't been very visible for a while, and I have felt like I have been buried under a mountain of work, so it may not be all that far off.

I tried writing general interest posts for a while, but gave that up because my guess is that nobody cares.  It's true that I see a lot of movies (although I'm not trying to match last year's pace of 109 different new releases), but there are lot of other places you can go to read better and more insightful reviews.  And I haven't been playing my Wii very much recently either, so I don't have much to say on that front.

Honestly, I think that the real value of my blog here is to keep things technical.  That's what I did when I was at Sun, and it worked out well.  Unfortunately a lot of what I'm doing now is still a bit under wraps so I'm not quite ready to comment on that yet, but hopefully that will be coming in the not-too-distant future.  But in the meantime, there are some .  I do think that going without saying anything for too long was a mistake as well, and I'll try to avoid that moving forward.

Sunday
Dec092007

Before the Devil Knows You're Dead

This weekend was a very slow weekend movie-wise. I had absolutely no desire to see The Golden Compass, and nothing else new was out around here. However, scanning over what was playing that I hadn't seen yet, I came across Before the Devil Knows You're Dead and saw that it had an 8.1 rating on IMDB, so I figured I would give it a shot. Overall, I rate it about a 6 out of 10.

The basic premise for the movie is that two brothers (played by Philip Seymour Hoffman and Ethan Hawke) find themselves in financial trouble. Philip Seymour Hoffman's character Andy has been embezzling from his company and has a bit of a drug problem, and Ethan Hawke's character Hank is behind on his child support. Their parents (played by Albert Finney and Rosemary Harris) own a jewelry store, and Andy suggests to Hank that they could make some easy money by robbing it. The store is insured, so it would be a victimless crime, and Andy figures that they should each be able to get about $60,000 out of it. Of course, things don't go as smoothly as planned and they find themselves getting deeper and deeper into trouble.

This was a very non-linear movie. We knew that the robbery failed because it happened in the second scene, whereas we didn't get all the details of its planning and the reasons behind it until later. Normally I don't really care for stories that are told out of order, but in this case I think that it worked quite well. It felt like the audience was given the right information at the right times throughout the movie, and having the story told in order might not have been as effective. There were a few times when this approach was confusing, since it wasn't immediately obvious where it fit in the story, but it usually didn't take long to figure that out. I do think that the very first scene was hard to place correctly in the time line until the very end, but in general I think that it helped the movie out because it kept you guessing.

However, in my opinion there were some significant problems with the movie:

  • There were a few critical aspects of the story line that seemed pretty implausible, and I don't think that it would hold up that well under scrutiny. Not the least of which is why they would risk so much for what seemed to be a relatively small payout -- $60K isn't the kind of money that leaves you "set for life".

  • Other aspects of the story seemed to be thrown in for no apparent reason and didn't seem to have any relation to anything else that was going on. This didn't really detract from the movie, but it didn't really add anything to it.

  • The movie seemed to end very abruptly and left some pretty big questions unanswered. On the other hand, because of the non-linear manner in which the story led to a lot of overlap where we saw parts of the same scenes multiple times. It almost seemed like I ended up watching the movie twice. While it did sometimes help to establish the time line, I think that it would have fared better if some of that duplication had been eliminated and they spent more time tying up loose ends.

  • The very beautiful Marisa Tomei was in this movie, playing the part of Andy's wife. She had several nude scenes, but none of them seemed very integral to the story line there were a couple of times that it just felt awkward.

I did like the movie more than I thought I would after having seen the trailer, but I do think that there are some small touches that could have really elevated it. It had the potential to be a great movie, but ultimately I think that it ended up as just pretty good.

Saturday
Dec082007

Wii Bowling Tips

Since I've had more free time than usual over the last couple of months, I spent some time with my Wii, and much of that has been in Wii Sports. I can't seem to get the hang of boxing (actually, I've never lost any of the few bouts that I've had, but it seems like just flailing your arms about is enough to win and a lot of my punches don't seem to register properly in the training modes), but I've gotten pretty good at the rest of the games and for some reason I'm particularly attached to bowling. When I first started the scores I got weren't any better than I could achieve in real life, but over time I've been able to refine my skills and I've now had several perfect games. In the process, my approach looks a lot less like actual bowling, and I have to say that it does take some of the fun out of it, but nevertheless it's nice to see a top score of 300.

As far as the other sports go, the only advice I can give is that practice makes perfect, so you'll just need to keep at it. Also, sometimes nontraditional approaches may be helpful. For example, I've found that I often have better luck in batting practice when I'm sitting down and just swing with a flick of the wrist rather than standing with a traditional batting stance or even using a full swing. Also, there are plenty of other tips and videos available, and YouTube seems to be a good starting point.

Now, onto the bowling tips.

The Obvious Stuff

There really isn't any huge secret to doing well. The most important thing to do is to figure out what works well for you and then keep doing that. As long as you are consistent, you should get repeatable results. Consistency includes:

  • Starting in the same position on the floor and with the same angle. Use the arrows on the floor to help ensure that you have the same position, and if you press "up" on the cross button then it will zoom in so you can fine-tune your position. Press "up" again to zoom back out.

  • Use the same delivery every time. This includes the point in your approach at which you start the swing, the speed of the swing, the amount of spin you put on the ball, and the point at which you release the ball.

Of course, this isn't necessarily as easy as it sounds and I usually find some way to screw it up. Before I got my first perfect game (and since then as well), I threw many 279, 289, and even 299 point games where I left one pin standing that I had to pick up with a spare. However, through lots of trial-and-error, I have managed to isolate a pretty minimal set of actions that can help you out. Note that I'm right-handed, so if you're a lefty then some of this may or may not be helpful (or at the very least you'll probably want to reverse it).

Another somewhat obvious tip is that if your main goal is to get a perfect game, then it doesn't make sense to continue playing a game if you've already blown it. In that case, you can press the "+" button on the controller to bring up a menu that allows you to start the game over without the need to finish the current game. Clearly, this is only something that you'll want to do when you're playing solo as it would probably be quite annoying to others if they were playing along. And even when you are alone it's not very sportsman-like because if you do this it will be like you hadn't played that game at all so it won't have any potential to impact your score (and if you get a high enough rating, anything less than a perfect game can actually hurt your score).

Consistently Getting Strikes

One thing that I found was that I kept getting messed up on the approach. This wasn't always my fault, as I noticed that sometimes the animation at the beginning of the approach got a little choppy and that threw off my timing. However, I discovered a little trick to completely eliminate that from the equation. If you hold down the "B" button (the trigger on the underside of the controller) then it will start the approach, but if you keep holding it down you will stop once you reach the scratch line. If you wait to make your swing until after you've stopped then you'll completely eliminate any variability from the approach.

With the approach problems solved, it's much easier to maintain consistency in the rest of the process. The easiest area in which to remain consistent is in your positioning and aim, since you can take your time and always make that exactly the same. I've found that works best for me (especially when I don't have to worry about the approach, and when I use the swing technique outlined below) is to zoom in and align with the arrows on the floor. There are two rows of arrows, a continuous row further down the lane (i.e., higher up on the screen) and a second row closer to you that is split into the left and right sides. The perfect position for me is to align the left edge of the red stripe with the left edge of the leftmost arrow in the lower right group. I don't change my angle at all, so I always keep the red stripe parallel with the gutters. When I'm done, the red stripe is pretty much aligned with the three pin (the first pin to the right of the head pin). Note that positioning can be sensitive, so it may take some adjustment to get it right, and you really do need to zoom in to ensure that your positioning is perfect.

The final piece of the puzzle is to ensure that your swing has a consistent speed, spin, and release. I can't really separate these components easily, but what I do is to hold down the trigger until I have stopped at the scratch line, at which point my arm and the controller are pointing straight down and the front of the controller is parallel with my TV screen. Then, without moving my upper arm, I snap my forearm up until my hand is at my shoulder, and at the same time I twist my wrist so that the controller is turned 90 degrees and the face of the controller is perpendicular to the TV screen. I time it so that I start twisting my wrist at the same time I start raising my forearm, and complete the twist when my hand is at my shoulder. Also, at the same time my hand reaches my shoulder, I release the trigger. If everything is done correctly, the ball should end up spinning right into the one and three pins, and it should be a pretty explosive hit.

If you get the motion down, you should easily find yourself consistently scoring over 200, and I pretty frequently get at least a 279 and have gotten 300 several times. Of course, this doesn't really look like real bowling, and you can even do it when sitting down which is even more of an abomination. Other than the thrill of getting a 300-point game, I actually prefer a more traditional process because it's just more fun when you treat it like a sport than like a computer simulation where precision is important.

I should also point out that this technique doesn't work nearly as well in the "power throws" training game, where you start with ten pins but then there are more pins added each throw until you hit 91 pins on the tenth roll. It does pretty well, but you're not going to get an 890-point game using it. The best that I've gotten with this technique (in combination with the 91-pin strike mentioned below) is a 651.

Rolling the Ball Straight

Using a "normal" approach, I've found it very hard to get the ball to roll straight down the lane, and I've heard others mention this as well. For some reason, my natural swing puts spin on the ball even when I'm trying to consciously avoid it. However, I have come up with a modified version of the swing above that allows me to consistently throw the ball in a straight line so that it doesn't veer off to one side as it goes down the lane.

In this case, since the ball is going to be rolling straight down the lane, you'll want to make sure that your position is such that you're pointing right at where you want the ball to hit. I still hold down the trigger until I stop at the scratch line with my arm pointed straight down and the face of the controller parallel to the TV, but then instead of bending my arm at the elbow I keep my whole arm straight and pull it up until my arm is pointing upward at about a 45-degree angle, and I release the trigger just after my arm has come to a stop without twisting my wrist at all. The whole motion looks kind of similar to the well-known salute to an infamous German World War II dictator, and if you do it right, then you should find that the ball will head straight down the lane.

Note that I generally use this technique for picking up spares, especially with the seven or ten pin right along the gutter, since it's easier to get a strike when you do have spin on the ball.

The 91-Pin Strike

When you're doing the "Power Throws" training session, you start with ten pins and then more pins are added for each additional roll until you have 91 pins on the tenth roll. In this game, your score is equal to the sum of all the pins that you knock down in each roll, but if you get a strike with any of your rolls, then you get twice as many points for that roll (e.g., if you get nine pins on the first frame then it's worth nine points, but if you get all ten pins then it's worth twenty points). As a result, getting all 91 pins in the last frame is worth 182 points, which can really boost your score, but that's not an easy feat to accomplish even when using the technique outlined above. However, there is a cheat/Easter egg built into the game that allows you to get a strike on the tenth roll without even touching a single pin.

When you're in the power throws game, there are rails along the sides to help prevent you from getting a gutter ball. However, with some careful positioning and the right throw, you can actually throw the ball so that it rolls down the top of the rail and stays on the rail the whole time, then it will count as a strike an you'll get 91x2 points for that roll. Note that this only works on the tenth frame, so don't waste your time trying it on the first nine.

The approach that I've found works best for this is to move all the way to the right until you stop. Then, move back one click to the left and press "A" to allow you to change the angle, and move two clicks to the right so that you're angled slightly toward the rail. Then you can hold down the trigger until you stop at the scratch line and then swing your arm and try to put clockwise spin on the ball so that it will counter the natural tendency for the ball to curve back to the left. It may take some practice to get it right, since it's easy to not put enough spin on the ball and have it fall off the rail before the end, and you can even put too much spin on the ball and have it fall off the rail in the other direction.

I don't claim to have discovered this trick. I first saw it in a video on YouTube, and you can find an example at http://www.youtube.com/watch?v=gTsjnjsO-E0.

The Bowling Robot

The ultimate in repeatability would be to build a robot to bowl for you, and actually that's exactly what someone did. See http://www.battlebricks.com/wiigobot/index.html for a page detailing how someone built a Lego robot that is able to play Wii Sports bowling. There's even a video showing it roll a perfect game (http://www.youtube.com/watch?v=KUvind4t7Pk). This is an incredible feat, and it's quite an innovative approach. If nothing else, it does show that if you're able to deliver consistent throws then you really can get a perfect game.

Monday
Dec032007

Movies for the Weekend of 11/30/2007

Scrooged (7/10)

The first movie I saw this weekend was Scrooged, playing as the midnight movie at the Alamo Drafthouse Lake Creek. In it, Bill Murray plays the young and ambitious president of a television station that is preparing to air a live version of Charles Dickens' A Christmas Carol on Christmas Eve, when he finds a modern-day version is playing out in his own life. It also includes Bobcat Goldthwait, Karen Allen, Carol Kane, three other Murray brothers, and a host of cameos.

Even though Bill Murray comedies (especially the more recent ones) have been hit-or-miss at best, this one definitely goes in the "funny" list. It's not his funniest ever, but it's far from his worst. There are several non-funny parts as well, but that's to be expected based on the story being told. It's certainly the best version of A Christmas Carol that I've ever seen (but I also loved the "Bah, Humbug" episode of WKRP in Cincinnati). However, Bill Murray's brother Brian holds the honor for being in the best Christmas movie of all time (National Lampoon's Christmas Vacation).

Awake (6/10)

The trailer for this movie reveals an interesting premise: a man (played by Hayden Christiansen) undergoing surgery isn't completely anesthetized and finds himself awake and aware of what's going on, but completely paralyzed and unable to do anything about it. And as if that weren't bad enough, he overhears the doctors talking about how they're going to kill him

Unfortunately, the trailer screams out "plot twists", so you're watching out for them and it's hard to be surprised by them when they happen. In fact, one of the biggest twists is blatantly given away in the movie's tagline, and even if you hadn't read it you should have seen some pretty obvious evidence to suggest that in the movie's opening scene. Nevertheless, reactions in the theater I went to (the Regal Gateway 16, since the movie was unfortunately not being shown at any of Alamo Drafthouse theaters) at least some people were surprised several times.

I was also disappointed by the number of inaccuracies in the movie. If you're going to have a plot that deals with medicine, then it's probably not that hard to find a doctor to consult on the project and make it a little more realistic. The plot didn't depend on any of the medical inaccuracies, so in my opinion it's inexcusable to have made such mistakes. I won't go into detail on what some of these problems were to avoid any spoilers, and it's probably true they would go unnoticed by most people without as much of an interest in medicine, but they did impact my appreciation of the movie.

I did like the story itself, and despite the problems that I've mentioned earlier I did find the movie enjoyable. It's probably actually something that I would find more enjoyable watching a second time with complete knowledge of what happens, since anticipating the twists may have perhaps been a distraction. I was a little concerned that Hayden Christiansen's more prominent earlier role might have detracted from his choice in this movie, but that didn't really seem to happen much in this case and it offers more hope for his upcoming role in Jumper. Jessica Alba's performance seemed the same as pretty much every other movie that she's done, which is to say that she is pretty.

August Rush (7/10)

August Rush is in a rare class of movies that I find to be both utterly predictable and utterly enjoyable. If you've seen the trailer, then you shouldn't expect any surprises. It's what last year's The Pursuit of Happyness should have been.

If you've seen the trailer, then you should know what happens, but if not then the short version is that Keri Russell and Jonathan Rhys Myers are both musicians that hook up for one night and Keri gets pregnant but has to give the baby up (and the circumstances around her giving it up are probably about the only thing in the movie that you wouldn't have guessed from the trailer). Her son Evan Taylor grows up hoping that his parents will one day be able to find him. He's always loved music, and when he meets Robin Williams (who gives him the "stage name" of August Rush) we discover that he's a musical prodigy, and ultimately that it's music that will reunite him with his parents.

Even though I did like the story, there were a couple of things that I think could have been done better. The beginning of the movie was a bit too jumpy for my tastes, switching several times between the past and the present, and I think that a more linear presentation would have been better. There were also several pretty obvious mistakes in the movie (e.g., notes getting lower instead of higher as his hands move to the right on a piano) that really should have been caught. And at the time that I saw it, I felt that the ending was a little too abrupt, although after having thought about it I think that it was probably a safe decision and that there were many ways that they could have screwed it up if they had chosen to prolong it.

Sunday
Dec022007

Why the Dislike for CDDL?

Disclaimer: Although I was employed by Sun at the time the CDDL was created and chosen as the license for the OpenSolaris code base, I was not involved in either of those processes and was not privy to any of the related discussions. I am not making any attempt to speak for Sun, and all information provided in this post is either based on publicly-available information or my own personal opinion.

In reading discussions about what has happened with OpenDS, I've seen a wide range of reactions. This is to be expected, but one thing that I have found to be a bit surprising is that there have been some comments that are critical of the Common Development and Distribution License (CDDL). This isn't the first time that such comments have been made, as I've heard them ever since the license was first created, but I am a little puzzled by them and the fact that they have persisted for so long. I think that the CDDL is an excellent open source license and that many of the negative comments stem from not really understanding it, while others may have something to do with the fact that the open source community in general has been and continues to be somewhat suspicious of Sun (who authored the CDDL).

The CDDL was originally created as a potential license for OpenSolaris. This drew a lot of criticism because many people, especially those in the Linux community, wanted Sun to use the GNU General Public License (GPL). Since GPLv3 was nowhere near complete at the time, if Sun did choose GPL then it would have to be GPLv2 but that would have been completely impossible for Sun to do in a reasonable way. While Sun certainly owns copyright on most of the code in Solaris, there are parts of the code that Sun licenses from third parties. Since GPLv2 doesn't play well with non-GPLv2 code, if Sun had chosen to use GPLv2 for OpenSolaris, then they wouldn't have been able to include some of those third-party components (especially those that interact directly with the kernel) which would have made it a lot less attractive for potential users. In that case, about the only people that would have been happy would be those in the Linux community because they would have been able to take the best parts of Solaris and pull them into Linux. OpenSolaris itself wouldn't have been really useful until they had either re-written the third-party components or convinced their respective copyright owners to make them available under GPLv2. Other operating systems which use non-GPL licenses (like the BSD-based variants, which have gotten a lot of benefit from the OpenSolaris code) wouldn't have been able to use it, and third-party vendors (especially those that need kernel-level interaction, like hardware device drivers) would have also found it much less attractive. It is possible that some of these concerns could have been addressed by creating GPL exceptions, much like they have done with Java, but even still there would have been significant deficiencies that GPLv2 doesn't address like legal concerns about code which is covered by patents. Rather than try to pigeonhole OpenSolaris into GPLv2, Sun chose to look at other options, including the possibility of using their own license, which ultimately led to the creation of the CDDL.

Before I go any further, let me briefly describe the primary types of licenses that exist in the open source world. They fall into three basic categories:

  • Licenses which preserve open source at all costs, like the GPLv2. These licenses require that any software that uses code under such a license must always be open source. In other words, you can't use code licensed in this manner in an application with closed-source components. This is very good for the community that releases the code under this license, since it ensures that they will always have access to any improvements made to it, but it's less friendly to downstream developers since it creates significant restrictions on how they might be able to use that code.

  • Licenses which preserve freedom at all costs, like the BSD and Apache licenses. These licenses place very few restrictions on how other developers can use the code, and it's entirely possible for someone to take code under such a license and make changes to it without making those changes available to anyone else, even the original developers.

  • Licenses which attempt to strike a balance between open source and freedom, like the Mozilla Public License, the CDDL, and GPLv3. These licenses generally require that any changes to the existing code be made available under the terms of the original license, but any completely new code that is created can be under a different license, including one that is closed source.

As someone who has done a significant amount of both open source and closed source development, I really like licenses in this third category. If I make code that I have written available under an open source license, then I like the guarantee that this code will remain open. On the other hand, I also like giving others the freedom to do what they want with their own code, even if some of their code happens to interact with some of my code, and I know that commercial users are much more likely to shy away from licenses in the "open source at all costs" camp than licenses in the other two categories.

So what are the specifics of the CDDL? It's based on the Mozilla Public License, but clarifies some things that the MPL doesn't cover. The basic principles of the CDDL are as follows:

  • CDDL has been approved by OSI as an official open source license, which means that it meets all of the minimum requirements defined at http://www.opensource.org/docs/osd.

  • CDDL is a file-based license. This means that if you make any changes to CDDL-licensed software, any existing files that you modify need to remain under CDDL, but any new files that you create can be under whatever license you want as long as that license isn't incompatible with CDDL.

  • Similar to the above point, CDDL is very friendly when interacting with code under other licenses. This makes it easy to mix CDDL-licensed code with libraries under other licenses, or to use CDDL-licensed libraries in a project under a different license.

  • CDDL includes an explicit patent grant clause, which means that if any of the code is covered by patents then anyone using or extending that code is also granted the right to use those patents. It also includes a clause that terminates the usage rights of anyone who brings patent-based litigation against the code.

  • CDDL isn't a Sun-specific license, and is suitable for software written by anyone. The only mention of Sun in the license is to indicate that Sun is the license steward and the only entity able to create new versions of the license

See http://www.sun.com/cddl/ and http://www.opensolaris.org/os/about/faq/licensing_faq/ for further information about CDDL license terms.

In my opinion, the CDDL is a very attractive license for open source software. It certainly doesn't seem evil or unfair in any way, so I have a hard time understanding the bad reputation that it seems to have gotten. It is true that CDDL code can't be mixed with GPLv2 code, but that's not because CDDL is incompatible with GPLv2, but rather because GPLv2 is incompatible with CDDL. GPLv2 is incompatible with lots of other licenses, including other popular open source licenses like the Apache License, the BSD license, and the Mozilla Public License. In fact, the GPLv2 is even incompatible with the GPLv3 (as per http://www.gnu.org/philosophy/license-list.html#GNUGPL). It is unfortunate that the licenses used by OpenSolaris and Linux aren't compatible with one another, but I think that it would have been a mistake to use GPLv2 for OpenSolaris and highly doubt that incompatibility with Linux was seen as a key benefit when CDDL was selected for OpenSolaris.

Our decision to use CDDL for OpenDS was made after careful consideration and was based on the merits of the license. We were certainly not pressured into using it by Sun, and in fact during discussions with Sun's open source office they wanted to make sure that we weren't choosing it just because we thought it was the company line but rather because it was the right license for the project. There are a number of other open source licenses out there, and they have their benefits as well, but if I were to be involved with the creation of a new open source software project, then I would imagine that CDDL would at least be in the running during the license selection process.

Friday
Nov302007

Clarifications on the Open Letter

It appears that there are some questions about the content in the open letter that I posted earlier this week. Simon Phipps (Sun's chief open source officer) posted a comment on my blog that summarizes these questions, so I will use this post to reply to it. The original text from Simon's post will be indented and italicized, and my responses will be in plain text.

Hi Neil,

Despite the fact you didn't actually contact the Sun ombudsman service[1], I have had several referrals of your postings. I've done a little investigation and I have some questions about your story.

Actually, I did contact the Sun ombudsman service. The exact same text that was included in my blog post was also sent as an e-mail message. That message was sent from neil.a.wilson[at]directorymanager.org with a timestamp of "Wed, 28 Nov 2007 09:57:03 -0600" (9:57 AM US Central Time), and was addressed to neil.a.wilson[at]directorymanager.org. It was blind copied to the following recipients:

  • users[at]opends.dev.java.net
  • dev[at]opends.dev.java.net
  • jis[at]sun.com
  • ombudsman[at]sun.com

I did not receive any bounce messages in reply, and my mail server logs confirm that Sun's mail server did in fact accept the message for delivery. If my message never made it into the ombudsman[at]sun.com inbox, then perhaps the problem is on your end (e.g., over-eager spam filtering, which happened to me on more than one occasion when I was a Sun employee).

It's very regrettable that you were laid off, no question. That's not a part of your narrative I can comment on for HR/legal reasons, but it's always sad when business pressures force layoffs.

Thank you for the sentiment. While I wasn't particularly happy about being laid off, I don't hold a grudge against Sun because of it. Regardless of whether I think it was an intelligent move, Sun did have a justification for it (geographic consolidation). If the only thing that had happened was that I got laid off, then I fully expect that I would still be actively participating in the project. I believe I demonstrated that through my continued involvement in the project even after having received my layoff notification.

However, I do question how you characterize the requests to change the OpenDS governance. I note that the OpenDS governance was changed on April 28 by sshoaff[2] and that the original line reading:

"This Project Lead, who is appointed by Sun Microsystems, is responsible for managing the entire project"

was replaced by one reading

"This Project Lead, who is appointed and removed by a majority vote of the Project Owners, is responsible for managing the entire project"

I have not been able to find a discussion of this change anywhere, and I understand from your former managers that they were unaware of this change. While you characterize the request made of you as:

"demanded that the owners approve a governance change that would grant Sun full control of the OpenDS project"

it seems to me that what in fact happened was you were (collectively) asked to revert that change to its original state. On present data, it appears to me that far from Sun acting in bad faith over the governance, they were in fact making a reasonable request to correct an earlier error. Indeed, all that has happened to the governance document since then is to revert the change[3].

This is not the whole story.

First, the change to which you refer (committed in revision 1739 by Stephen Shoaff on April 28, 2007) was absolutely not unauthorized. Stephen Shoaff and Don Bowen both served as officers of the company (Stephen as the director of engineering for directory products, and Don as a director of product marketing for all identity products), and David Ely was the engineering manager and the Sun-appointed project lead for OpenDS under the original governance. This change was also discussed with Sun's open source office, and while you (Simon) may not have been directly involved with those discussions, Don Bowen has informed me that there was a telephone conversation in which you told him that each project should make the decisions that are best for its respective community. We also involved the OpenDS and Identity Management communities in the process, although those conversations were on a personal basis with key members rather than at large on the public mailing lists. Unfortunately, none of us can currently produce any evidence to support these claims. When we received the layoff notification we were required to return or destroy any Sun property that we may have had, and since all of these discussions would be considered Sun-internal communication we no longer have access to any record of them in compliance with the notification requirement. However, full documentation to support all of these claims should exist within Sun should you feel the need to verify them.

Second, this was not the governance change to which I referred in my original post. In the meeting that the owners (including Ludovic) had on November 13, 2007, we were informed that it was Sun's intention to replace the governance with something different and that the new governance would be chosen and managed by a Sun-selected committee. This change has not yet been applied, and as I am no longer involved with the project I cannot comment on whether there is still intent to make it. However, Eduardo referenced this future change on the OpenDS user mailing list today (https://opends.dev.java.net/servlets/ReadMsg?list=users&msgNo=627) when he said "We want to improve these governances, ideally in a consistent way."

There was no discussion at all during the November 13 meeting of the change made in revision 1739, and it was not brought to our attention until the following evening. To the best of my knowledge the request to revert the change made in revision 1739 was never discussed with anyone other than Stephen Shoaff. I know that I personally never received any communication from anyone within Sun asking me to approve reverting this change.

Finally, I would ask Sun to justify their subsequent reversion of that change and how they believe that it was in the best interests of OpenDS, or how doing so was consistent with Sun's public stance on the importance and value of community-led projects. Despite the fact that the change we made had more than sufficient authorization, I fail to see how reverting it is in any way an improvement. How is reverting to a Sun-appointed absolute authority better for the community than the consensus-driven model we thought Sun wanted?

I would be happy to continue to investigate this case, so if you would like to submit a complaint to ombudsman@sun.com with full data supporting your accusations I would be pleased to investigate further. I'm afraid I don't usually read your blog so you'll need to alert me (webmink@sun.com) to any postings here that need my attention.

Regards

Simon

[1] http://blogs.sun.com/webmink/entry/open_source_ombudsman
[2] http://tinyurl.com/ys5hf3
[3] http://tinyurl.com/yto9qs

I am afraid that there may not be any benefit to further investigation. It appears that you are using your position to attack my credibility and focus on damage control for Sun rather than acting impartially on my behalf as per your claim at http://blogs.sun.com/webmink/entry/open_source_ombudsman. Even if for some reason you did not receive the message that I originally sent to ombudsman[at]sun.com, I find it very discouraging and disappointing that Sun's community advocate would choose to respond in such an inflammatory manner via e-mail messages and blog comments without even making an attempt to contact me for further clarification. You have accused me of launching an attack with partial facts but apparently have made no attempt to contact me to get the complete facts for yourself. I had gone out of my way to indicate that I felt that this was an isolated incident and not in-line with Sun's true stance on open source, but it's hard to continue to hold that position when Sun's ombudsman and chief open source officer behaves in such a manner.

Wednesday
Nov282007

An Open Letter to the OpenDS Community and to Sun Microsystems

My name is Neil Wilson, and until recently I held the Owner and Committer roles in the open source OpenDS project. I helped found OpenDS, served as the project architect, and have contributed more code than anyone else. However, I must now regrettably inform you that I have been compelled to end all involvement with OpenDS. I have resigned all roles that I held in the project and have rescinded my Sun Contributor Agreement. I will no longer contribute code, documentation, bug reports, suggestions for improvement, or advice of any kind.

I joined Sun Microsystems in October of 2001, where I was directly involved with its proprietary directory products in addition to my later work with OpenDS. I wrote and analyzed code to provide new features, fix bugs, and improve performance, and I developed a number of tools to help improve the Directory Server experience. I had excellent working relationships with a number of customers, and I was instrumental in closing several deals worth many millions of dollars. I consistently received the top rating in annual performance reviews, and I worked with a number of other groups within Sun, as well as with Sun partners, to help ensure that the Directory Server products worked as well as possible with other Sun technologies, including Solaris, Java, and a number of other software products, as well as many different kinds of hardware.

On September 27, 2007, I was notified that Directory Server engineering, including OpenDS, was being consolidated in Grenoble, France, and that US-based positions were being eliminated. Some individuals were reassigned to work on other software products, but among those laid off were the four OpenDS project owners (myself, Stephen Shoaff, Don Bowen, and David Ely), as well as the OpenDS community manager (Trey Drake). We would technically remain Sun employees for the next two months, but were not able to access any Sun-internal resources and were not required to work in any way and were encouraged to use that time to seek employment elsewhere.

This was certainly a very surprising move, but the shock wore off and within a few days the OpenDS owners and community manager got together and decided that even if we were no longer working for Sun that we would like to continue our involvement with OpenDS and wished to ensure that the project was in the best possible position moving forward. To that end, we had face-to-face meetings, conference calls, and e-mail discussions with Sun employees still involved in the project to provide advice and knowledge transfers. I also continued participation on the project mailing lists, committed code changes, and updated the project issue tracker and documentation wiki.

The project owners also decided that as an act of good faith (and without any prompting from Sun) that we should elect a fifth owner who was a Sun employee, since Sun had certainly made a significant contribution to the project. We appointed Ludovic Poitou to this position, as he had served as the architect for Sun's proprietary Directory Server product for several years, and further suggested that we should amend the project governance to ensure that Sun Microsystems was granted a permanent seat in the project ownership. On November 13, 2007, the OpenDS project owners (including Ludovic) met via conference call with the intention of discussing this governance change. However, during that meeting Ludovic informed us that Sun's intention was to change the OpenDS governance policy so that the project was controlled entirely by a Sun-selected committee. This was a surprise to us, and we indicated that while we were willing to discuss this further to better understand what was involved, we were concerned that this was not necessarily in the best interests of the OpenDS project or its associated open source community. We noted that the current OpenDS governance policy stated that governance changes could only be made by a consensus of the project owners, and therefore we would be required to approve any potential change.

On November 14, 2007, a member of executive management within Sun's software division contacted one of the recently-laid-off OpenDS project owners and demanded that the owners approve a governance change that would grant Sun full control of the OpenDS project. During this call, we were threatened that if we did not make this change we could face immediate termination and loss of all severance benefits. The four former-Sun owners discussed this and decided that we could not in good conscience approve the requested change as we did not believe that it would be in the best interests of the project, but we were also not willing to risk the considerable financial loss that could result if Sun decided to make good on that threat. After first trying to resolve the issue through more amicable avenues, we were ultimately compelled to resign our ownership and end our association with the project on November 19, 2007.

This was a very disappointing and hurtful turn of events. I believe that we acted only in good faith and in the best interests of the community, and we had clearly taken action to protect Sun's position in the project even after our own jobs had been eliminated. OpenDS was founded as a community-focused "doacracy", and no one has done more than I have to help ensure its success, or to ensure Sun's success through OpenDS. However, Sun management has shown that at least in this case they are willing to resort to rather hostile tactics to preserve absolute control. This is most certainly not in the spirit of open source and open development that we tried to foster or that Sun claims to embody.

Please note that I don't feel that this action was representative of Sun's true open source strategy, but was a relatively isolated incident brought on by middle management acting of their own accord. I believe and certainly hope that the public statements made by individuals like CEO Jonathan Schwartz and Chief Open Source Officer Simon Phipps are honest and that Sun truly does want to be a genuine community-focused open source company, and I have no reason to believe that they were aware of or involved with any of what happened with OpenDS. Similarly, I sympathize with the remaining Sun-employed OpenDS engineers who may have been unwittingly drawn into this turmoil, and am disappointed that we will no longer be able to work together, but it was not my choice. Unfortunately, if Sun is unable to ensure that their middle management is on the same page as the senior management setting the open source strategy and the engineers making it happen, then it won't take too many more incidents like this (or the Project Indiana / OpenSolaris Developer Preview naming fiasco) for people to start to question Sun's true intentions.

In order to avoid potential retaliation from Sun, I have remained silent on this matter through the duration of the two-month period following the layoff notification during which I was still technically a Sun employee. Now that this time has elapsed, I am no longer at risk of losing severance benefits and I believe that it is important to clear the air. I have no desire to pursue this matter any further through legal or other channels, but simply wish to explain why I am no longer able to be involved with the OpenDS project.

I am passionate about the technology and hope to continue working in this area in the future, but I am not yet prepared to discuss where I'm going from here. You may watch my new blog at / for more information in the future.

Neil Wilson
neil.a.wilson[at]directorymanager.org

Tuesday
Nov272007

The Mist

Tonight, I finally got a chance to see Stephen King's "The Mist", which also happened to be the 100th unique first-run movie that I've seen in the theater so far this year. I don't think that there's any possible way that I can adequately review the movie without any spoilers, so if you're planning on seeing it for yourself and don't want to know what happens, then don't read beyond this paragraph. I'm going to give it an 8 out of 10, and it was much better than I expected it to be, so if you liked what you saw based on the trailers and were thinking about seeing it, then I would recommend that you go.

If you're still reading, this, then I assume that you're in one of the following categories:

  • You're going to see the movie but want to know how it ends anyway.
  • You know you're not going to see it but would like to know how it ends.
  • You're still undecided and want help figuring out whether this movie is for you.

If you're in the third category and are on the bubble about whether to see it, then let me repeat that it's a very good movie, but I will warn you that it has a very rough ending. In my opinion, it was just about the perfect way to end the movie, but it is definitely not for the feint of heart. And this is your last chance to stop reading before I start giving away details.

The movie opens with a big storm. It's bad enough that it blows a tree over into David Drayton's house and smashes out his window. The damage is pretty widespread and knocks out the power pretty much all over town. When morning comes, the storm has ended but there is a heavy mist moving down the mountains and across the lake toward the town. David and his son Billy go into town to stop by the grocery store and then stop by the hardware store to pick up supplies to fix the window. Apparently everyone else in town had the same idea because when they get to the grocery store it's packed, and the fact they they don't have any power (save for an emergency generator that's just enough to keep the freezers running), so the lines aren't moving all that quickly. Then the mist reaches the store, and a man comes running in with blood on his face screaming about there being something in the mist. Of course, no one believes him at first, but it doesn't that long before they find out otherwise. The first victim comes when a bag boy is preparing to step outside to check on the flue for the emergency generator but gets dragged away by a set of clawed tentacles as soon as they open the door at the loading dock. But since that happened in the loading dock, only a few people saw it and many others in the store were still skeptical. That came to an end when a second set of people walked out the front door and were snatched away in front of their eyes. At that point, it was clear that their best bet was to ride things out in the store. They had plenty of food and supplies, so hopefully they would be able to last until help arrived. They barricaded themselves into the store and tried to tape up the big plate glass windows at the front of the store before stacking up bags of dog food behind them. One woman had a gun in her purse, and others got knives and sharpened sticks, and they prepared several mops to use as torches if necessary.

As night began to fall, things started to get worse. Huge insect-like creatures (about two feet long and one foot wide, with nice long stingers) began to gather on the store's front windows, but they didn't really become a threat until another type of creature which can only be described as a pterodactyl arrived and started flying into one of the windows. After a couple of hits, the window started to break, and soon there was a hole big enough for a couple of the pterodactyls and several of the insects to come inside. The people fought them off to the best of their abilities, and were ultimately successful in repelling the attack, but not without casualties. One woman was stung by one of the insects and died pretty quickly thereafter, and one man showed a complete lack of skill at wielding one of the mop-torches and caught himself on fire along with part of the store. They were able to get the fire out fairly quickly so that no real damage was done to the store, but the man was badly burned. And to top it off, a religious nut (Mrs. Carmody, played by Marcia Gay Harden) who had been spouting off in true cult-leader fashion started to amass an ever-growing group of followers.

The man who had been burned was in very bad shape. He was in a lot of pain, and was in great danger of having his wounds become infected. Unfortunately, this supermarket wasn't one that included a pharmacy, but there was one next door, and a few of them made the decision that they needed to try to get to it to try to save him. When dawn came, they set out cautiously and made it into the pharmacy without incident. However, getting back was a different matter altogether. Only as they were trying to leave did they notice the Alien-esque people suspended from the ceiling in what looked to be spider webs, and then they encountered the "spiders" that made them, only this time the webs that they shot out were like some kind of incredibly potent acid that would quickly burn through anything they landed on. When they finally were able to return to the supermarket, only about half of the party had survived, and even then it was all for naught as it was too late to save the burn victim.

By this time, Mrs. Carmody had won over most of the people in the store with her very selective interpretations of Bible passages, until there were only about ten people left who weren't blindly following her. She had already begun to mention that they might need to sacrifice one of the heathens to appease God, and it all came to a head when she demanded that David's son Billy be that sacrifice. Her followers began to comply and started trying to grab him away, and the only thing that stopped them was when one of the remaining clear-headed men took the gun and shot her dead. They then thought it was best to try to get away from there and see if they could drive far enough south to escape the mist and the creatures contained in it. They headed for David's Land Rover, and the fact that there were ten of them and only room for eight wasn't all that big a problem because their numbers were down to five by the time they made it to the vehicle. They drove off leaving the now leaderless cult members in shock and started to head south. They dove for quite some time past all kinds of carnage, but they reached the end of their gas tank before finding the edge of the mist. As the Land Rover sputtered to a stop, they could still hear the creatures and they began to accept their fate. They still had the gun with them and decided that it would be a far better way to go than at the mercy of the monsters, but alas there were five of them and only four bullets. After shooting his own son and the three other passengers, David stepped out of the vehicle and began screaming for the creatures to come take him away, only to be met with a much more horrifying sight: out of the mist came an army brigade replete with tanks and soldiers, and carrying truckloads of survivors to safety.

This was an appalling ending, but it was the right one for the movie, and it was the one that I was secretly hoping for once it became clear that they were considering death by gunshot. It would not have been nearly as good for them to have all been saved at the last minute, nor for David to have been killed by one of the creatures, or for them to have been able to drive to safety. My only slight disappointment with the ending was that none of the survivors being rescued by the army were from the supermarket. I think that small touch would have been just the right amount of additional salt into David's wounds to complete one of the most tragic conclusions of any movie I have ever seen.

My only other minor complaint was that I thought that their explanation for the origin of the creatures was weak. Over the course of the movie, we learned that the nearby mountains housed a military base and that some army scientists had been exploring the possibility of alternate dimensions when the accidentally opened a door to one of those other dimensions and some of the creatures inhabiting it were able to cross over into our world. This was such a far-fetched explanation that I found it to be disappointing. Of course, given the subject of the movie any reason that they had provided would likely have been implausible, but I think that it would have been far better to keep the origin of the creatures a mystery than to offer up such a lame explanation.

Despite my mild disappointment over a couple of small aspects of the movie, I was nevertheless very pleased with the way that it turned out. I was glad to see the right ending even if it may be an unpopular one.

Monday
Nov262007

Movies for the Weekend of 11/23/2007

This weekend, I saw three movies, all of them at the Alamo Drafthouse Lake Creek.

RoboCop (7/10)

The first was the mid-80s classic RoboCop, showing as the midnight movie this weekend. It had been quite a while since I had last seen it, and it was the first time I had seen it in a theater, but it's a good movie and was well worth it. I don't think that it's ever revealed exactly when the movie was supposed to be set, but its depiction of the "future" isn't as laughable as many other movies of the same type. Many of the special effects look pretty lame by today's standards, but interestingly enough the IMDB trivia page indicates that they were done on a Commodore Amiga.

Hitman (5/10)

The first new release that I saw this weekend was Hitman. It is based on a video game of the same name (and there's a scene in the movie where you can see a couple of kids playing it in the background). I'm not really very familiar with the game, and I've never played it, so I can't say how faithfully the movie followed the game, but judging the movie as a standalone entity I thought that it was decent at best.

There was enough action in the movie to keep it interesting, but there was nothing at all original about the story and as such any attempted plot twists really weren't much of a surprise. It seemed rather un-covert to have their highly-trained secret assassins shaved bald with a big bar code tattooed on the back of their heads, but apparently everyone else is so stupid that it doesn't matter. It doesn't seem to make them any easier to spot when they're making their way through a train station, and it doesn't raise too much of a red flag when an arms dealer's bodyguards let him alone into a bathroom with their client with little more than a pat-down. Also, the little glass beads scattered on the floor outside of a hotel room that crunch loudly when you step on them are apparently ignored by both special forces operatives and the housekeeping staff. Perhaps the filmmakers thought that throwing in some unnecessary nudity would make up for it, but I think that they misjudged that by at least a couple of cup sizes.

No Country for Old Men (8/10)

On Sunday, I saw No Country for Old Men. I will have to admit that I wasn't all that excited based on the trailers and hadn't originally planned on seeing it, but I was lured in by the high IMDB rating (it's currently got an 8.9 overall, or an 8.6 from the top voters, which puts it at #27 on their Top 250 list), and also because by the time that I was ready to leave to go to the theater it was too late to make it to the showing of The Mist. I've been bitten in the past by going to see a movie based on its rating when I didn't think that I'd much care for it based on the trailers, but in this case the trip was worth it.

The basic premise for the movie is that a man (played by Josh Brolin) is out hunting near his west Texas home when he happens across the aftermath of a drug deal gone bad. He comes across a satchel containing $2 million, which makes him the prime target for the ultimate bad guy (played by Javier Bardem), whose slow persistence and emotional detachment would seem right at home in the best horror movies. Add in a sheriff played by Tommy Lee Jones trying to track both of them down, a bounty hunter played by Woody Harrelson, and cameos by Stephen Root, Barry Corbin, and Beth Grant, and there are very few slow spots in the two hour runtime.

The only real complaint that I have about the movie regards a scene near the end with Tommy Lee Jones investigating the aftermath of a gunfight at an El Paso hotel. I don't want to give too much away, but its portrayal in the movie is just confusing. Apparently the book on which the movie is based explains it more clearly, but that explanation certainly isn't one that would have immediately come to mind when watching it on screen, and I've read several comments suggesting that in fact something different happened in the movie. It's not really a critical scene, but the way it played out was a bit of a letdown when compared with the tension leading up to it.

Overall, though, it was a very good movie. There's not a lot of predictability to it, and it will definitely leave you thinking.

Page 1 ... 5 6 7 8 9