Saturday, December 29, 2007

Android is a Java fork, yeah so?

I'm finding it very interesting how a number of articles in the blogosphere are attacking the Google Android platform. I guess it is easy to criticize given it's only been in the public for 6 weeks. Yeah it looked like it would be vaporware until we got a hold of the actual running emulator and SDK. And yeah, the quality of the SDK could be better and there could be more for building native apps. But I think the Android team has done a great job of getting something in developers hands early so that they can start coming up with some money-making ideas and feedback any issues that they do run into.

The issue that I think people are getting caught in is the claim that Android is a fork of the Java standards. You know, I could really care less about that. If the Android platform is truly open with a commercial friendly license and is available on a lot of platforms, it will succeed. And if that means you'll have to port your Java ME or even your Java SE apps to it, the market will tell you that you should invest in that. I'd rather see the community decide what the best platform for mobile should be, not Sun who has little experience with it.

And I'm sure many at Eclipse would feel the same. Believe it or not, Eclipse is a fork of the Java standards as well and for much the same reasons. The Java standards didn't cut it when building great desktop applications. SWT and the Eclipse Platform have really kept Java alive where I thought it would never survive. It's a fork for all the right reasons. And so is Android as an embedded platform.

One thing you will see though is that Google, or at least the Open Handset Alliance (OHA) of which Google is the most powerful member, will dictate what the Android standard will be, much like Sun does with Java standards and much like the Eclipse Platform team does with the Eclipse Platform. And there is nothing wrong with that. If you're in the business of making money writing applications for these platforms, you want them to be as successful, i.e stable, as they can be.

But what it does mean is that if we want changes, we'd better the requests in now before we start debating whether there will ever be an Android 4.0...

Saturday, December 22, 2007

Oh, My Spinning Head

It's been a great first week at Wind River. I spent 3 of the first 4 hours there in conference calls which has given me a hint at how things are going to go. Wind is a very dispersed company and everything is managed over the phone, through IM and e-mail, and the occasional travel. It should be very dynamic and a really cool environment to insert myself into it.

And while that was going on, the debate raged in CDT-land over how to deal with projects sitting on top of file systems that may be spread all over hell's acre. The good news is that we have a lot of momentum and all the right people in place looking at it and talking about it. I think EFS is the key and how well it works hiding away the details of the actually layout of the files and directories from the rest of the CDT and Eclipse in general will tell how well we succeed.

I'm going to spend some time over the Christmas holidays working on my flexible file system. I have a good idea of how to do it, I just need to sit down and get it done. Once I'm finished, I'm hoping it'll work a lot like other major IDEs, Visual Studio included, and that you can add/exclude files and directories from anywhere your machine has access. And that should help us test all these other scenarios as well, including having your project distributed between machines.

It's going to be cool stuff, and I'm sure other projects will be interested in it as well. Our challenge will be to engage them and make sure we come up with a solution that works well for all of the Eclipse community.

Monday, December 17, 2007

Winds of Change

So I've started my new job. For those who haven't seen yet, I am now working for Wind River as an engineering manager in charge of a small team. From the meetings I've already had this morning it's going to be an interesting challenge and I have a lot of new technology to learn and people to meet.

On the Eclipse side, I will stay on as the CDT project lead. I've been very impressed with the team at Wind that is responsible for a lot of the good work that went into CDT 4.0 as well as the DSDP projects. And I'm excited to be able to continue working with them and the rest of the CDT community.

Of course, I am who I am, and none of my philosophies change with this move. I am still devoted to the grassroots of the open source world. You get them excited about your technology with a low barrier to entry, they become great customers in the future. And Wascana continues to play an important role there.

And I see Google Android filling the same role for embedded. It is an exciting platform for mobile devices (and not just cell phones) and I've been blown away by the energy of the community that's growing around it. There are guys who have even figured out how to build native applications with out having any of the header files and compilers available to them.

It'll be interesting to watch the parallels between Android and Eclipse. They look very similar in philosophy of commercialized open source and the power of community in making a successful platform and that's something the mobile space really needs to bring it to the next level.

Friday, December 14, 2007

Thank You QNX

I have an announcement. Today is my last day at QNX Software Systems. Now, for the Eclipse CDT community, no worries. I won't be going far and you won't see much of a change from me. But I do prefer to hold off announcing where I'll end up until I get there. Today, I want to pay tribute to QNX for whom we owe so much for where the CDT is today.

I'll always remember the first CDT summit in 2002. It was held here in one of the larger meeting rooms. We had people from Red Hat, MontaVista, Rational, and of course QNX. I remember the QNX gang being giddy as if they were proud parents. It was that day that the CDT project was born (or more historically accurate, reborn, but anyway).

The CDT that QNX gave to us was exactly what I was looking for. Something that fit in well with the rest of the Eclipse plug-ins, and the JDT especially. Even then we considered mixed language development with JNI as the holy grail that we were seeking, which we still are seeking BTW. The whole thing was a tribute to the small band of great developers that were locked away in an offsite building charged with coming up with an Eclipse based IDE in 6 months. They made all the right choices and most of them are still in effect today.

QNX also had the vision of what a commercial open source co-operative could accomplish in the right environment. IDE's are not QNX's core competency, and that is true for most platform and tool vendors. Very few IDE's have been successful in the market because they require a huge amount of investment to do right. But if we all banded together, put away our competitive anxieties, and focused on the common good, we could and did pull it off.

I also have to thank QNX for giving me the opportunity to "finish" what I started at IBM/Rational. When we lost the group there, we lost a hand full of really good developers, and friends, that were working on the CDT. But we clearly did not have a "successful" indexing strategy at that point and I really feared for the future of the CDT. I sincerely have to thank the management team here for talking me into coming over. It gave me the opportunity to set things right, and they helped me build my career as a leader in the Eclipse community.

I'm very happy with how the CDT and its community have evolved over the last two years. We owe a lot to QNX and QNX will always hold a special place in our community. I wish all the people I've worked here all the best and I look forward to continue working with them in the spirit of friendly co-opetition.

Thursday, December 13, 2007

Wascana, Still Going Strong

I got an note on one of the forums for Wascana, my packaging of the CDT and GNU toolchain and assorted libraries for Windows development. The question brought up again the need of the community to support the Microsoft toolchain, and debugging in particular. Unfortunately I've been busy with other things and really need to do a reset on this work to figure out the best way to proceed that will be the most successful. So not much progress has been made.

While I was on the Wascana site, I thought I would check to see how the download numbers were doing. It's been three months now since I made the last release and it's probably time to do another one, especially if the numbers had dropped to nothing.

But to my pleasant surprise, we have apparently passed the 3300 mark. The numbers have been strong with around 30-50 downloads a day but are now starting to dip below 20. So guess it is getting time. I need to figure out how best to package the boost library, and then get the latest Eclipse Platform and CDT. It would be really nice to figure out how to use the update manager to install these components nicely for you but I think that'll have to wait until next summer when the new Equinox provisioning work is ready and I've figured out how to use it.

But it is good to see Wascana is still seen as an interesting alternative for Windows developers.

Monday, December 10, 2007

AGR is dead, apparently

One issue we've always struggled with on the CDT is how to do GUI testing of the CDT's UI components. A number of us looked at different open-source solutions that would allow anyone contributing to the CDT to also contribute GUI tests. Some community members do use commercial tools for their internal testing. But we'd prefer something generally available for everyone.

Two solutions seemed to come out tops, albeit a very low tops. AGR from TPTP and the SWT port of Abbot. However each of these had two severe problems that prevented us from using them.

First, the Abbot/SWT port has been progressing very slowly to the point where we're not sure it's even alive. We do have one committer, though, that is looking at supplying them with patches and maybe that'll bring it back to life.

AGR also had one big stumbling block, it's dependence on the TPTP test framework. The CDT releng test run is a simple JUnit setup and we wanted to run our GUI tests as part of that without having to spend the effort of integrating the framework. Bug 138369 was raised to see if someone in the community could make AGR work in such a simple environment.

Well, today, we were notified that AGR has gone into an As-Is state (i.e. dead) and the bug was marked won't fix. I personally recommend against marking bugs in the CDT as won't fix, because, who's to say someone won't come along and try and fix it. Why shut the door like that. At any rate, it does point out that the community hasn't really rallied behind AGR as a GUI testing solution.

So what is the current state of open source GUI testing frameworks for Eclipse? Is there something else out there? Or is there still hope for either of these technologies? Is there an EclipseCon talk on this subject?

Tuesday, November 27, 2007

Using CDT for MySQL

I recently got a note from a Hakan at MySQL who wrote a tutorial on how to use the CDT to build and debug a component of MySQL called Falcon. I'm always glad to see when other open source communities have found the CDT useful for their work. It's one of the best ways to show publicly the different capabilities of the CDT, and its a lot easier to get co-operation between open communities.

The tutorial shows MySQL being debugged on a Mac. I didn't realize how slick the CDT looked in that environment. And I guess I didn't realize that MySQL ran on a Mac, but it makes sense that it does. And it really shows the value of the CDT for cross platform development. They follow the same steps on Linux. Now if we could do Windows just as easily...

Thursday, November 22, 2007

Camping the Eclipse Way

Hmmm. Instead of huddling around a campfire, we were huddled around a projector screen, and there was lots of beer, so I guess it qualifies as my kind of camping. I attended the Ottawa Demo Camp last night and it was a pretty interesting evening. There were around 30-40 people there and we had 7 demos by various people who work on Eclipse technologies that live in the Ottawa area. Only a couple were from IBM, which kinda dominates the scene here, so it was good to see the diversity.

The one I found most interesting was a new start-up called Protecode. They demoed the product they are building that helps secure any IP issues that can be introduced as developers are working in the code. I'm sure some of those developers would be creeped-out by a tool watching you cut and paste code and recording if you pasted code you shouldn't have. But for large firms that have strict IP policies, this would be a great tool to help them find issues early in the development cycle when there is still time to address them. I had some nice comments talking to their CTO after about how great it was to have the CDT available to them so that they could get some C/C++ developers using their tooling and help them get to market quickly. And that's what the Eclipse ecosystem is all about.

For my demo, I had to quickly put something together. Things have been pretty busy for me lately and the demo slots were only 10 minutes anyway. So I decided to show a side by side comparison of the features in the newly released Visual C++ Express 2008 and Wascana's CDT 4.0. Even I was little surprised at how evenly we are matched with the "Goliath" in our space. And, of course, to show the real benefit of Eclipse and the CDT, I showed how I extended the CDT to generate new project code and build settings for wxWidgets using CDT's extension points and the Plug-in Development Environment. Not something you can do with the free, or even the paid, version of Visual Studio.

All in all it was a great evening. I got to catch up with some old colleagues of mine and got to see the diversity of interest in Eclipse here in Ottawa. And from what I hear, the other Demo Camps being planned are just as big if not bigger. It would be cool to be able to see what everyone is doing in Budapest...

Wednesday, November 14, 2007

EclipseCon Submission deadline approaches

Time is flying and we can't stop it. The submission deadline for EclipseCon talks and tutorials is fast approaching, i.e. Nov 19. We have been allocated a number of tutorials and talks to talk about Eclipse in the C/C++ world. If you are planning on attending EclipseCon anyway, you might as well talk while you're there, and get some or all of your registration fee paid for. Feel free to submit any ideas you may have, no matter how crazy they are to the EclipseCon submission system.

Friday, November 09, 2007

A Linux Desktop Battle Brewing?

O.K. I'm on record as saying I hate Linux because it looks ugly. Windows has much cleaner fonts and UI responsiveness (unless you're doing a lot of disk access in which case you get tons of hesitation, but I digress). That being said, the development tools in Linux are way better, as is traditional with the *nixes of the past. Heck, any operating system that lets me mount a file as a pseudo file system can't be beat.

So, as the story goes, my laptop is starting to get flaky. It overheats when plugged into my port replicator and shuts down at random times. And I don't feel like going without it for a few days to get fixed, at least not right now. So I'm just using it without the replicator, meaning I have my LCD screen and keyboard freed up. So with all the hype surrounding Ubuntu 7.10, I upgraded my little Linux box and plugged the LCD into it. I'm now using it as my main development environment leaving my laptop for e-mail and internet radio and stuff.

One thing I noticed right away is that my Linux box has a video card that supports OpenGL (vmware does not). That allowed me to enable the cool compiz desktop enhancements. Now my windows jump onto the screen and scamper off when they're done. When I move them, they flap in the wind (which is pretty annoying after a while). I managed to get the fonts to the point where I don't mind them, but they're still miles away from Windows. But you know, it's not that bad an environment.

Now I see that Fedora 8 has been released with a whack of new desktop features. Of course, given that both distros are taking software from the same base, it's not too surprising that Fedora 8 looks just as good. Ubuntu is apparently still better for laptops, especially when plugging and unplugging external displays all the time (which actually worked when I ran vmware on my laptop in full screen mode). I saw a note in the Fedora 9 plan about trying to be as good or better than Ubuntu at that.

So I have to eat my words a bit now on Linux desktop. It's starting to look pretty good and probably time for me to start taking seriously, especially when Eclipse and the CDT are becoming a favorite IDE for Linux. And with the little competition between Fedora and Ubuntu, the user experience should only get better too.

You want to do what with EFS?

In my last entry, I dropped a quick note about a feature I'm planning for CDT 5.0 due out with Ganymede next summer. We are getting more and more requests from users moving over from Microsoft's Visual Studio that the CDT should do things like in Visual Studio. One of the high runners is to be able to add files and directories from anywhere in the file system to projects, and to be able to exclude files and directories from other directories. You could use Linked Resources to do the 'add' today. But there's no mechanism to do the 'exclude'.

After playing around with EFS for remote project support, I got the feeling that I could do this add/exclude functionality using EFS by implementing my own file system that would map paths requested from IResources into real file system paths the users wants them to map to. I've decided to call this the Flexible File System (or ffs for short and as the schema name).

I'm not sure if this is going to work out yet. The simple things like opening files and building the resource tree should work. I really want to get the Team system working as well so you can keep the files in source control. That will be the really tricky part. I also think there is going to be a lot of issues we uncover where we're assuming we know the layout of the file system. And we got to figure out how to tell the external tools the real file locations they need.

For now, I'm only looking at this from a CDT project perspective. I know there are a lot of other projects that could use this and I hope we can move this to the platform at some point. And it won't do some other things with the resource system we've always wanted, like nested projects. But now that we've reached a good level of maturity with the CDT, we need to start addressing these issues and remove those final big objections to moving to the CDT and Eclipse.

Thursday, November 08, 2007

Guess what I missed most...

For some reason, I've gotten interested in ray tracing (like I don't have enough in my life to do right now). So when I found out about a project some guy is working on called Arauna, I had to go look.

It was pretty cool. It looked great as far as lighting and shadows and reflections go, which is one of the best things about ray tracing. And it was rendering a scene with 70K triangles in real time with frame rates on my Core Duo laptop between 7 and 25, pretty reasonable. And with the algorithm exploiting both of the cores, it looks pretty promising as well in our near future of highly parallel architectures.

The guy had the source code for download as well. Of course, being a Windows app using DirectX, it came with Visual Studio project files. Once I figured out how to work around the project setup for Intel's C++ Compiler, I was able to load up the projects into Visual Studio Express 2008 Beta 2. Not only was I interested in looking at the ray tracing algorithms, I also wanted to check out the state of the art that Visual Studio is coming out with compared to the CDT.

VS does have a few things that we have now with CDT 4. It has a pretty fast search for declaration, definition, and references. It seems pretty accurate, although I did notice the had the same problem we did when opening the definition of a constructor. It went to the class definition instead. Also, they have a call hierarchy tree, just like CDT 4 introduced. I guess we're reaching some kind of parody as far as features go.

But the feature I missed most, especially when trying to learn someone-else's code, is the Outline View. We sure do take it for granted in Eclipse-land. It's been there forever with the CDT, starting with the original drop from QNX. With VS, I kept finding myself looking over the the right hand side of the screen to see the outline every time I opened a new file. Instead I had some useless property page staring back at me.

We're getting more and more feedback from CDT users that are coming from the Visual Studio world. There are a few things that Eclipse and the CDT are missing and we are looking at trying to address those. The biggest one is that they want the ability to add any files and directories to a project that they want. I'm looking into a way to do that with the Eclipse File System (EFS). We'll see if I can get my ideas working. But it's cool to see the trend developing.

Monday, November 05, 2007

Do we need Eclipse "Products?"

There has been an interesting discussion on the Eclipse Planning Council mailing list over the last few days. We are planning the Ganymede release scheduled for June of '08 and as part of that, we are trying to integrate an expressed desire by the Eclipse Board of Directors via the Eclipse Foundation that projects meet a number of requirements that raise the quality of Eclipse across the board.

This has caused some confusion and some misdirected passion (of sorts). Given that the Eclipse governance model has the committers, the people elected to make code changes, as the only people who have the power to make code changes, and that the Foundation and Board have no real power over the committers, other than those employed by Board members, and other than to hold up the IP review process that governs getting 3rd party submissions into Eclipse, how do we get these requirements to happen?

My favorite solution at the moment is to create a "carrot" instead of some sort of "stick". Something for projects to aspire to. Something that gets a bit of glory in the community. That idea is to take the existing Eclipse packages, such as the Eclipse C/C++ IDE, possibly adding others, and treat them as real commercial products (still free and open mind you). For those of you who aren't heavily involved in software product development, there is a whole set of tools you get with the field of product management. Some of my best friends in this industry are product managers. These are the guys who take a look at the market, talk to existing and potential customers, figure out what a successful product in that marketplace would look like, and then drive those requirements through the engineering team to make it happen.

There are a number of benefits to this, including giving the industry something to focus on when they talk about Eclipse and a higher quality product base on which vendors contributing to Eclipse can build their own products on, without having to duplicate the "productization" effort. And being the showcase of Eclipse technology, projects that want to show off their wears would put in the extra effort of complying with product requirements so that they could be included in that show case. (In theory, anyway).

But I also think that the challenge of making this work is daunting. My product manager friends will be the first to complain that they don't have a lot of power over the engineering teams anyway, but with the Eclipse contributor co-operative that we have I don't see much hope. There has to be a commitment from the community that this is important for Eclipse and important for themselves. But I do think we need something like it, because I do think it's important for Eclipse and for every vendor making products based on it.

Thursday, October 25, 2007

The community never ceases to surprise me

I hate blogging more than once a day. But as soon as I posted my last one I checked the CDT bug reports to see what was coming in. I ran into this one, 207482, raising the issue that the option to intermix header and source files in the Projects explorer isn't working. That's no good since I hate that we separate them now. But I didn't realize we had put in that option and will have to try it out and see what's wrong.

But never mind that. What really made my day was the e-mail address of who raised it, whirlpool.com. You know, I suppose that appliances are so advanced these days that they have a processor and a hunk of firmware that runs them. And why not use the CDT to develop that firmware, it's one of the things we're really good at. Assuming that's what this guy is doing (and I don't think it's my place to ask since that's probably proprietary information), Cool!

Ever rising expectations

You know there was a time when I though syntax highlighting was a cool feature. It made it easier to see your code by allowing you to focus on the things that are important, like the names of functions you call and variables you have. With the correct coloring, keywords tend to slip into the background where they belong.

Well, content assist with STL iterators doesn't work. If you define a Class A with a member x and you have a list<A> of them, you want the iterator i-> to give you the x. No, really, it's the cat's meow of content assist - interpreting the i to find out it's a iterator template instantiated on A then resolving A to find out what it's members are. The unfortunate thing is that this used to work up until CDT 4 when we moved content assist to use the new index framework instead of always doing a complete parse. It's much faster now, but we don't have all the necessary information about templates in the index yet.

And, of course, with our active CDT community, people are starting to raise bugs on various things that aren't working with templates. For C++ developers, the Standard Template Library is an awesome tool. It greatly simplifies the code you have to write to use generic collection classes and it does it with all the type-safety and performance that C++ is famous for. I guess I shouldn't be surprised that people expect the CDT to work with them as well as it does regular C++ classes.

But, under the hood, this is an incredibly complex beast. When we got it working first in CDT 3.0, despite the somewhat slow performance, I was proud of the team that we were able to make something like this work. It was a lot of effort by some really smart people, who unfortunately have moved onto other projects. And luckily we have a new set of really smart people who will continue the effort as we move to the new index. So we will get it working again.

It is very interesting to see, though, the expectations that IDE users have now. It certainly has come a long way. Once we get the template thing done, our next biggest demand is C/C++ refactoring and we have some more smart people lined up to look at that. If you were to start a new C/C++ IDE today, it would be a daunting task to meet these expectations. I'm glad we have the history and the team we have now on the CDT so that we have a chance.

Friday, October 19, 2007

Assert.isTrue(false) never works

In case you were wondering, this pretty much throws an exception every time. Although, I one of my first mentors often tried to blame stray electrons on some bugs so, I guess if he was right, there could be times when this does work. But I wouldn't put money on it.

I ran across this particular piece of code when it showed up in a bug report recently. It came at the end of a if-then-else chain as the else that the author didn't expect to ever run. Well, this one unfortunate user found some way to make it run. Maybe it was a stray electron, or maybe it was just a corrupt preference store. We'll have to see.

But this did bring up another of my mantras for software development. Don't throw an exception that you don't plan on catching. Sometime we use exceptions as a crutch. If we get to some point where we can't figure out how to continue, we just throw an exception and don't need to worry about it any more. At least until the exception bubbles up to the UI and the poor user has to deal with it.

It's a tough job to put in all the possible error handling for a given situation. If you're building a safety critical system, you get a whole boat load of funding to pay for that effort. But when you're building a software development tool, you often feel that you don't have the time to work on code that you don't think will ever run. But it really does pay off in the end. When you have hundreds of thousands of users of your software, there's a pretty good chance one of them will run into a stray electron or two.

Tuesday, October 16, 2007

Trust Matters

I just finished reading this article on a recent failure with the International Space Station. Something caused all three Russian-built computers on the ISS to fail at once while the Space Shuttle was docked and the Americans were installing a solar panel. I love reading post-mortems like this and wish we did more of them in the software industry. You certainly learn a lot about what can go wrong on a project.

In this case, they found the problem to be with condensation causing corrosion of power lines and an eventual short. That caused an unfortunate chain events that activated an unfortunate feature, a single command that would turn off all three computers, nullifying the triple redundancy. Once that was identified it was easily and "creatively" corrected and everything is fine now.

But the thing I got most out of the article is that one of the bigger problems was the original incorrect assumptions made by the team that caused the determination of the real problem to take longer. Being from different countries, they team started out by blaming each other for the failure instead of taking a non-partisan approach and trying to solve the real problem.

This is something I try to do as much as I can, which is unfortunately not often enough some times. If there's a problem, start with the assumption that I screwed something up. None of us are perfect and that group starts with me. That helps me take an honest look at the situation and if it is my fault, we can find it quicker. If not, then the fact that I'm not trying to hide from the problem should help there too.

When you are involved in an open source project with contributors from different companies, especially when the companies are competitors, you can end up in the same scenario. It is hard to build trust in those situations, and when your building something complex and run into problems, that trust becomes very important. To be successful, you need to trust that the other people are doing a great job. If you fall too quickly into the "blame game", you'll only get the project, and yourself into deeper trouble.

Thursday, October 11, 2007

ESE 2007, another great Summit in the books

Well ESE is over for another year. I found this one much better for me than the last. This is a real tribute to the growing strength of the CDT community in Europe and the effort people made to come here and introduce themselves. I had a lot of fun with them and my peers in the Eclipse community. It really reminds me why we make this effort to contribute where we can.

Here are a few more points I took home from the week:

  • There were a lot more people from the embedded space at ESE this year than last. So many of the vendors in this space see the value the CDT has provided them. Hopefully this will also lead to continued growth in our contributions :)

  • The guys from BMW CarIT gave a great presentation on how they are using the CDT in their tool chains. They have a really cool target system comprising of 70 processors working together and are trying to get them all to do more work. It's a great real life example of using the CDT for complex embedded systems. Hopefully they'll post their slides to the ESE pages soon.

  • The BMW guys also let out a secret that I'm glad got out. Building an integration to a compiler with the CDT for managed build is really easy. A day's work tops. I wouldn't mind seeing a concerted effort to co-ordinate these, maybe make a public repository of them. That'll also push some CDT vendors to add more to their products than just a managed build plug-in.

  • The BMW guys and others I talked to also showed me that there really are end users of the CDT that also write plug-ins to do the specialized tasks that they do. One of them even said this was getting to be a problem since there are getting to be a lot of them and is getting hard to manage version line ups. This is one of the great promises of Eclipse and part of what is supposed to make our Eclipse-based products so good. I'm excited to finally see it really happen.

  • Being without wireless LAN for almost all of the conference was really inconvenient and left me to writing blog entries late at night. But it did help me pay attention more to the speakers, which I guess is really a good thing. But lets hope it doesn't happen again :).


Well I should get to bed so that I can get to the airport at a good time tomorrow. Thanks to everyone I met here at Ludwigsburg for making me feel welcome and I hope to see you all at another Eclipse event soon.

CDT day at ESE

Now that I get to one of these things, i.e. Eclipse Summit Europe, I really get why I need to be here. I've met a number of people that were interested in the CDT who were very glad to meet me. I got some really good questions from many of them who are extending the CDT for their own build and debug tool chains. CDT in Europe is very much alive and thriving and it was a great opportunity for me to see what all was going on and to help where I could.

The day got started very late as my talk wasn't until 5 p.m. It was great to see around 30 or 40 people attend, more than last year. We then followed it up with a BOF late in the evening where we had a great discussion from a number of different people using the CDT on areas where it could improve and where thing are working better than expected.

I really got a feel for the diversity of the people interested in the CDT as well. I had a number of silicon vendors ask me questions on how to integrate their specialized toolchains with the CDT. This is definitely a hot spot with the CDT and something I didn't really anticipate. I'm much more used to RTOS vendors working with the CDT, but these bare metal guys are doing some pretty cool stuff.

I also learned that there not one, but two groups looking at C/C++ refactoring for the CDT. It's a very tough area and our current AST implementation presents a lot of challenges for them, but give the number of people who showed interested in having that functionality at the summit, it could be the next great step for the CDT. I hope things work out there.

The day closed off with a nice social closing with a number of the Eclipse Foundation staff. They are a very cool bunch of folk that have a lot of passion for what they do and in growing the Eclipse community in all directions. As Mike presented in his opening, he wants the Foundation to be around for 50 years doing something interesting. If they pass on their passion down the line, I'm sure this can be achieved. As long as they don't get too many German bartenders mad for bringing in Burger King even though the restaurant was closed. Oops, I guess what happens in Germany should stay in Germany, oh well...

Wednesday, October 10, 2007

Hello from Ludwigsburg!

I'm here in Ludwigsburg, Germany already a day into my Eclipse Summit Europe experience. I'm glad I'm here. Looking at the CDT contributor community, I'd say we get half of our contributions from developers based in Europe. And given the number of people that have come up and introduced themselves to me, there is a lot of CDT interest here and it should be a busy week for me.

I'm watching Erich Gamma's talk as I type this. He's giving a very refreshing look at the history of Eclipse and how we got here. It's really a tribute to the vision from him and the gang at OTI that an effective development organization could form in the open source community. We've had our growing pains, but a number of projects are now thriving in this environment, especially IMHO the CDT.

I have my talk on CDT 4.0 later today and tonight we have a CDT BOF. I look forward to seeing who will be at the BOF and if you're here, please feel free to stop me and introduce yourself. I'm finding my picture on my blog is making easy for people to spot me :)