You are currently browsing the Worst. Blog. Ever. weblog archives for the day March 4, 2005.
- Arts and Entertainment (2)
- Development (12)
- Eclipse (10)
- Games and Geekery (5)
- Other (10)
- Personal (6)
- Political (1)
- May 24, 2011: Of the things that keep me up at night...
- September 19, 2008: Watchmen
- April 27, 2008: Betrayal most foul
- April 7, 2008: The bursting of bubbles
- March 17, 2008: Whoops
- March 17, 2008: Statistics
- March 12, 2008: FUDCon 8
- January 9, 2008: Any day now...
- October 31, 2007: Zombies!
- July 26, 2007: Execute them! Bogus.
Feeds
People
Places
Things
Archive for March 4, 2005
The one where I started writing (EclipseCon 2005)
March 4, 2005 by Nitin Dahyabhai.
So I’m sitting on this plane halfway on its way to Chicago and I realize there’s a ton of stuff that has happened over the past week. I’ve been tempted to write a blog for a while since it seems to be the thing to do. Truth be told most of my life these days consists of waking up, going to work, going home, doing some more work, and reluctantly going to bed. More on that later (perhaps), but the gist of it is that there’s usually not enough going on with me to justify the existence of a blog–after all, who’d really want to read it? But as I sit here at some unknown altitude at some freakish hour of the morning suddenly wide awake, I thought it might be nice to summarize the past week or to at least capture my thoughts about it before they disappear into the ether.
Sunday
The was an Order of Eris World of Warcraft Guild Party held the night before that I skipped in order to do the necessary packing for the EclipseCON 2005. Fact of the matter is that I probably could have made it if I felt up for a party–after all, I still didn’t finish doing my laundry and packing until 3AM. A good time was had from what I hear but a 10AM flight isn’t anything to sneeze at given my proclivity for waking up late.
I arrived at the airport on time but not having travelled for a while I forgot to completely empty my pockets while passing through security. It’s funny how you can forget that you have a cellular phone on you when it’s a nice and small model. Anyway, I was once again pulled out of line, had my shoes inspected (they’re looking a little ragged, actually), and was padded down. I was rather early and that was a good thing since I went to the wrong gate out of confusion with my seat assignment. Wandering back to the correct gate I saw David, my team lead, walking over to the gate as well but then pass me by presumably on his way to get breakfast. I’d already eaten on the way so it was no big deal. Later I’d find out that he hadn’t even seen me at first so had actually gotten a little worried about me possibly missing my flight. Our third attending team member, Amy, showed up just a few minutes before boarding began. To our mutual surprise, we had all ended up on the same route to San Francisco.
American Airlines has the distinction of being one of the few carriers at RDU Terminal C. Terminal C’s the smaller of the two (yeah, I’m not sure there’s a Terminal B) so it’s less hectic at most times. Anyway, the hop to O’Hare was uneventful aside from the random seat assignment that sat me next to Marie Bradford, a fellow IBMer who works under John Kellerman, someone for whom I almost worked as a co-op. Sometimes it’s a small world…but then, IBM was going to be big at EclipseCon, again.
It’s strange to think that I’d been to O’Hare a few times when I lived in Indiana and didn’t remember the airport at all. In retrospect, a much longer layover might have been interesting as it would have allowed me to rent a car and head over to the old stomping grounds in Schererville. I’ve been tempted to see our old hometown of Dublin, VA. for years but the driving time’s just made that unappealing. Anyway, the American terminal had a confusing layout where a section clearly labelled “Food Court” might as well had been the “Coffee, Pastries, or Coffee and Pastries” Court. Walking further eventually led us to an open area that had a variety of restaurants to choose from and we had lunch at an Eastern Time-ish time.
Stay away from the burrito place if you’re ever there. To my surprise, Baja Burrito near the N.C. State campus is hard to trump in terms of quality.
The outbound flight was delayed by an hour which made everyone onboard pretty grumpy. Whatever it was that was wrong required phoning some experts up from Tulsa. Never mind that I’d have felt better if they’d actually gotten those people to come and see the plane for themselves, but we took off successfully enough afterwards. The flight wasn’t scheduled to have any meals but they had a pair of snack services going on with an attempt to sell what amounts to a Lunchables-esque meal to desparate travellers.
No vegetarian option, of course. If I might digress, I often wonder if I’m getting a bad deal at Sam’s and BJ’s by being a vegetarian. After all, when you’re stocking Massive Quantities of Stuff, you’d like to have a feasable variety of it on hand. Not that I’m complaining about the lack of vegetarian tacquitos, mind you, it’s just an observation.
It was raining when we landed and surprisingly the proximity to the water makes this a common occurrence. We scurried for cover and got on the hotel courtesy shuttle to find that Randy and Pratik were riding it around for kicks. While the three of us had had a two hour layover and an extra hour of delay to contend with, their later departure from Raleigh and shorter connection through Atlanta had gotten them to San Francisco before us.
Checking into the hotel was pretty uneventful but the five of us were scattered around the hotel at various floors despite checking in at around the same time. It’s not a huge issue, but it’s puzzling to consider that the hotel is trying to distribute its guests across all of its space in some way–optimizing foot traffic? Randy also managed to get a lower price for his room by having booked it separately from the conference. Those of us that booked it through the conference were paying 50% more per night than him–or rather, IBM would be paying more. A sign of things to come…
Registration went smoothly with everyone being given a swag bag stuffed with assorted pamphlets and registered commiters getting a complimentary shirt identifying them as Committers. A Committer, for those who don’t know, is someone who literally has commit access to a CVS repository on Eclipse.org. The designation carries with it some weight since aside from those committers assigned at a project’s creation, all new committers are voted in by their would-be peers on the basis of past contributions (bug reports, patches, documentation submitted, etc.). The shirt is, of course, a thin cotton-poly blended polo shirt that’s very blue.
Yeah, I think I’m only going to wear this the one time.
Dinner was really all that we could do at this point. We bumped into Arthur Ryman and some other Eclipse folks who’d arrived and were milling around in the registration area. It’s nice to see some faces I recognized and to meet more that I’ve been talking to for some time for the first time. Anyway, we went to an “Italian” restaurant near the hotel that was recommended by Michael and Chuck from the WTP J2EE Tools team. I put that in quotes because it’s not so much a “Italian” place as “OK, it’s really Seafood cooked in an Italian kind of way” place…with salads. The bay area is really big on seafood. Really big.
The hotel TV setup’s actually pretty sad. For a major metropolitan area, you’d at least expect Comedy Central, the Sci-Fi Channel, or Cartoon Network to be available. Not a one was, but hey, lots of Pay-Per-View options no business traveller could ever justify.
Monday
The first day was going to be all Tutorials punctuated by an New Committers meeting in the morning and a Member’s Meeting in the afternoon. Randy, Amy, and Pratik decided to explore the city before Randy and Pratik’s Tutorial covering GEF. The majority of tutorials were to run for 4 hours and cover a technical topic in great depth. Attendence to them was restricted to those whe paid the extra fees, but I hope everyone got their money’s worth. I, on the other hand, dutifully attended the New Members meeting at 10AM. To my suprise it was mostly populated by CTOs, CEOs, and product managers. I politely sat through over an hour’s worth of material explaining the organization of the Eclipse Foundation before feigning having a meeting to attend and quietly leaving the room. I really should have gone into the city instead.
Lunch was provided by the hotel and consisted of some layered … vegetable…thing…that was also marinated. Containing a lot of vegetables I’m not fond of and layers of the dreaded Portabello, I mostly contented myself with the surrounding garnish. The tables were arranged by topics of interest and the one I was keen on seeing was the CDT table. It turned out to be full so David and I ended up at the XML table. The XML Tools folks were there, of course.
Afterwards David went to the Members meeting and I tried to get people to venture out into the city again. I thought it would be strange to make my way down to Chinatown and then wander about on my own, but it was not meant to be. I ended up congregating around with Craig and Keith from XML Tools killing time until dinner. And that’s when we ran into Billy Biggs.
For those who’ve never heard the name, Billy is one of the reasons (IMHO) why SWT on GTK+2 doesn’t suck. He’ll tell you it does sometimes and even regale you with tales of how some parts of SWT can’t be implemented well due to GTK’s design with a fair amount of fire in his eyes. I know Billy as his alter-ego on the #eclipse channel on irc.freenode.net. He remarked that I keep the channel from coming apart at the seams and am the one that answers most of the questions that get asked. The fact is that I’m there because I can still learn things in there. It’s how I first talked to Luc from the debugging team about the JSR045 issues I’d run across during the RADv6 development. It’s how I learned how the basics of an RCP application are defined (it’s just an Eclipse application with a special subset of the Eclipse SDK as its runtime). And thanks to Billy I now know to avoid asking about the Clipboard’s content types since it’s no cheaper than fetching them altogether under GTK. The Snippets view needs some tweaking, I guess. Anyway, Billy’s pretty young and a little hyper at times–he’ll do The Pigeon on a whim. As my first boss would say, he’s a “good egg”,
though. And he’s made it much further along in Mario Golf and Katamari Damacy than I have. Talk about diverse skills…
At some point we got thirsty and in protest of our rooms’ $5 bottles of water, walked to a local gas station to buy some water at a better rate. Billy inexplicably bought water with lemon in it, a decision I questioned at first and one which would haunt him the entire walk back to the hotel. At this point the discussion surfaced that I’m a rather gruff person to work with at times. That should be no surprise–of the characters on Disney’s Gummi Bears as it aired in my childhood, the one whom I most identified with was Gruffy Gummi, engineer extraordinaire and a curmudgeon to anyone who rubbed him the wrong way. I’ve always had a problem with my conciseness and push for specificity in technical discussions coming across the wrong way. Thankfully, those that know me well understand that it’s a quirk of my personality, just like how I’m blinded and easily distracted by bright and shiny objects.
Dinner consisted of cookies and then pizza outside of the WTP project Sprint Session at 6. A Sprint session is a term created by Bjorn Freeman-Benson, formerly the head of WTP (OK, there’s some title to go there but Tim Wagner of BEA is now in that position…whatever it was) and one of the chief organizers of the conference. Amy and I grabbed seats in the back and watched as each of the main component leads gave brief overviews of their components and its capabilities, as well as occasionally pointing out their team members to the other attendees. We weren’t sure whether to stand or wave when David identified the two of use, but, man ,was that an awkard moment. A lot of the following Q&A session was spent trying to hear the questions being asked over the comments and discussion going on behind my by some folks from BEA. It was frankly distracting and, I thought, a little rude on their part but I hesitated to give them an evil eye about it–it’s too early in our partnership over WTP to do anything that might be taken the wrong way. BEA’s involvement adds more bodies, new minds, and fresh ideas to the mix–and that’s never a bad thing. Milling about afterwards I bumped into a different clique of people from BEA that were very interested in what they could do and uncertain of what their specific areas of contribution would be. At least one person’s eyes brightened when I mentioned that we could use help implementing JSP 2.0 EL and JSTL 1.0 EL into our JSP model–as the person who is currently slated to do the work I wasn’t even aware that there were differences between the two. M4’s going to be a ton of work. It’s probably a good thing that I haven’t slept well in a couple of months–I may be getting used to it.
The Sprint session disbanded into a BOF session at 9:30 about multiple language support in Eclipse. Basically, a lot of people were grumbling about how hard it is to even come close to the level of function provided by the JDT in a clean way. The CDT and AJDT projects were cited as reasonably well-featured forks having originated as copies of the JDT plugins. Indeed, there’s a lot in the CDT code’s layout, design, and nomenclature that’s reminiscent of the JDT plugins. A lot of it centered around how hard it is to truly support a new language when you simply can’t write your own compiler and runtime support. The problem with IDEs is really that you have to be able to “sandbox” the entire test runtime within them to be effective. For Java, the complete specification for the compiler when combined with the classpath setup of a JRE allows for a complete sandboxing, and developing C libraries and applications just isn’t that simple when you consider that you almost have to use an off-the-shelf compiler to truly get the same object code output and that ‘nixes are the only platforms that can even try to sandbox the native runtime environment. As a further example, imagine that the only way you could debug the GTK library was to build your test version and install it as part of your system. There’s possibly a destabilization of Gentooish proportions–and just when you’re trying to fix a bug. Never mind that you might not have the same build options enabled. A fair amount of the discussion also centered around how hard it is to add understanding of the source and how matching the JDT compiler’s a tough mountain to climb. I have the luxury of having climbed that mountain twice already and to me there was just a large aversion to accepting that real language support means real language analysis exposed to the editor–not just enough for the syntax highlighting level. You have to model the file and possibly a lot more to give the user the kind of abilities they deserve, and a lot of the more vocal attendees seemed to overlook that fact. Nothing good is ever easy and some problems are justifiably hard to solve.
We then went to the hotel Sports Bar. Now, any Sports Bar is going to be filled with loud music but this one was tiny as well as loud, and had peanut shells on the ground remeniscent of an Outback Steakhouse. David treated his team to drinks and then we all went back to our rooms by 11:00. Naturally I checked the newsgroups and IRC channel before trying to decipher the bed. No blanket, four impractically huge pillows, a round log-shaped pillow (?) and a sash(?) was all there was aside from your basic bottom and top sheet. I cranked the heat up and hit the sack hoping the next day would be more interesting, or at least less frustrating.
Tuesday
The thing about having an 8AM keynote is that everyone has to scramble through breakfast to get there. For me, that means getting up not too much after 6 so I can get myself cleaned and dressed before heading downstairs. The address by Tim O’Reilly on Open Source was pretty interesting, even if I disagreed with him on a few points. The guy’s definitely smart.
The first session of the day was all about RCP, the Eclipse Rich Client Platform. Or it should have been. The lead of VE covered some of the history of the RCP and its roots in the community before diving into a coverage of GUI builders in the market. At least the first 10 minutes were good.
Lunch was pasta with salad, bread, and some cheesecake dessert. For everyone, and not just the vegetarians. Even with a 1000+ people to feed, I think Eclipse got shafted. I talked to a pair of interesting guys who worked on network adminstration console software. RCP was noticably a big topic at the conference and they were using it to show their controls while talking to all sorts of router and machinery talking different protocols. They expressed some disappointment at the apparent failure of their efforts to Open Source the client technology, but some technologies just don’t draw the kind of community response that’s needed for a healthy Ecosystem. It’s obvious that Eclipse just wouldn’t be what it is without the interest of people unrelated to the Foundation or IBM. And I don’t just mean companies–the guys who work on PHPeclipse, PyDev, and other projects are just as integral in my eyes to the platform’s success as the JDT, CDT, and WTP projects. I went to the exhibit hall afterwards in an attempt to fill my swag bag. Brightly lit bouncing balls, numerous neat pens, and a keen LCD duster were to be had by those willing to suffer through listen to the various pitches in the room. The two most of note in my adventure were the Exadel and Apple booths.
Oddly enough, I wandered over the Exadel booth when I saw what looked like the Volkov Commander on their screen. Volkov was a Norton Commander clone that I was introduced to at UNCA back in ‘95 and have found indispensible on occasion. Working on an ancient Macintosh with a PC card installed made anything Windows excrutiatingly slow, so the other computer lab attendents and I were very fond of command line toos. The Exadel guy was using a similar application called Far that supported Windows 95-style Long File Names as well as worked properly under a Win32 environment–just from the command line. I also got to see their JSF Studio product and a nice form-based Custom Tag Library editor. If only I had the time to create something similar. It would make a natural showpiece for the article/document/whatever it is I’ve been trying to write about consuming taglibs in WTP for the past week.
Apple was pretty peculiar. On hearing that I was both a WTP person and someone who had an interest in making sure WTP worked on OSX (it’s not officially supported, athough lacking any platform-native bits means 99% is going to work perfectly fine as-is given that we support Linux and that OSX is literally Unix) the person I talked to was very persistent about exchanging contact information. Their X-Code IDE isn’t Eclipse-based but they’ve already done some work to get projects moving between the two. It shows a level of experimentation that I’ve come to expect from a company that I now hold high in my list of companies that I think well of. I don’t know where it’ll lead, if anywhere, but I sure wouldn’t mind it if it got me a Mac Mini at the office on which to test or even develop WTP.
I’m just saying.
The rest of the day was spent among forgettable sessions and in the always-there Code Clinic. The idea of the clinic was a good one: provide a place for people to bring code they’re working on and get help from actual Eclipse developers. I had high hopes for helping the “unwashed masses” since I’ve been learning about Eclipse since it had that name. As it turns out, our efforts to staff the room with WTP contributors ended up in us outnumbering the people who actually needed help. The only question I managed to answer was unrelated: how to find the list of source folders in a Java Project (A: call JavaCore.create(IProject) and check the resulting IJavaProject’s list of IClasspathEntrys for those of kind “source”). Anyway, the rest of the day petered out and I went to bed by midnight.
Turns out that that wasn’t going to happen again.
Wednesday
Wednesday opened with a keynote by someone from Google with “Behind the Scenes” in the title. Don’t get me wrong, I adore Google and most of the projects they’re working on, but aside from the massive size of their server farms I don’t really have much interest on what goes on internally. My fears were realized when I showed up near the end to overhear bits of their algorithms for dividing the work of searching among machines in their cluster.
A GEF session was held in the keynote’s room and the turnout was pretty good. Randy and Pratik did an excellent job of showing off GEF’s flash and substance, even though I’m not sure the shortest-routing algorithm needed as much coverage as it got. But what do I know? I’ve never tried to give a presentation to that many people and frankly I was shocked at how smoothly it went. GEF’s one of the most popular tool projects for good reason, and the people who work on it deserve more accolades than I’m allowed to give.
Lunch was another topic-based day and we just caved and sat down at the table for the Web Tools Platform. Disappointingly, the table didn’t fill up and the Novell and HP employees who joined us didn’t comment on WTP that much. Finally, it was time for an Intro to WTP session by Arthur Ryman. Here’s where I expected to see something much like the Sprint session where all the tools would be covered, and Arthur did a decent job of it. Naci’s half of the talk was mostly geared toward demoing the new Web Services tools introduced in M3. I honestly didn’t know much about Web Services beyond the basics of SOAP and WSDL at this point and I was surprised by how much was really in there. The flashiness was a bit of a disappointment as the WSDL editor doesn’t even show a Source page. It’s becoming readily apparent that the strengths of SSE are being drowned out by the flashier components that build on top of it. As Amy remarked, maybe SSE needs some marketing.
After some more time in the Code Clinic room struggling with the hotel’s wireless connection and our VPN, it was off to a Tech Exchange on language editors. One of the slides that caught my attention was about the “magic XML line” problem. If you think about it, programmers are a lazy bunch. We automate everything we can, and if we can’t, we grumble (@see: slashdot.org). One thing I noticed early on with Eclipse was that contributions to editors and viewers are based on their defined IDs. You associate action sets with editors the same way, but you can’t add new filename extensions to an existing editor definition. That means that to programmatically define that “.tld” files can be opened with an XML editor, you basically have to define a new editor using the same class. And associate all of the same contributions. And the action sets. SSE uses a ExtendedConfiguration system oriented around Content Type IDs for the input to consistently generate and reuse the target IDs for a given content type when it’s the input for the editor. I also sent a patch to the Platform UI team to add a genuine file association ability to the editors extension point. Hopefully this ugliness will be behind us, soon.
And then the poster session began. Keith Chong, Amy, and David were around but retired soon after the food was all eaten. I met up with Billy and Randy during the poster reception and Billy introduced me to other members of the Platform UI team, some of which I’d seen in the IRC channel. As it turned out, there was also going to be a GEF BOF and a SWT BOF that evening and both Randy and Billy were stuck at the hotel. My plans for the evening dashed, I almost entered the GEF BOF when I ran into Chuck. Chuck and Michael were thinking of heading out into the city for dinner and I was up for an outing. It was already pretty late so our first priority was to find dinner. We did finally make it to Chinatown and some of the shops were already closed. After some excellent roof-top dining, we returned to the street to find the area all but abandonded. So much for my plans to buy useless doodads. At this point we started walking around looking for the infamous Chinatown gate. After finding that, Michael took us on an extended “I like these steep streets” driving session. At numerous times it was like riding a roller coaster, just without the rails, safety harnesses, and reasonably-trained operator. I’m still alive, of course, and it was an experience I’m glad I had. The one time. A quick trip across the Golden Gate bridge and back brought us back to the hotel at 1:30 in the morning. A little checking of the newsgroups and it was off to bed.
Thursday
Upfront I should admit that I had been setting my alarm for 6:15. That should have given me ample time to get ready for the day and grab breakfast before the 8AM keynote by Lee Nackman. And so it was that I somehow woke up at 8:05. My guess is that I experienced most the history that Lee was going to cover first-hand, so I hopefully didn’t miss too much. Lee’s actually a pretty good speaker and his presentations are nothing if not well thought-out. His smoothly delivered start to finish demo of the Atlantic tools as RSDUC 2004 doesn’t get him enough props.
I went to the WSDL session this time that was run by Lawrence Mendel and Jeffrey Lui. Jeffrey reminds me a lot of Phil back when he first came onto the SSE team, although perhaps less articulate. The demo didn’t go off so well, but the preceding bits explaining just what Web Services are were enlightening. Combined with Naci’s demo the day before, I think I got the gist of it.
And it’s cool stuff.
After that, Michael, Craig, Amy and I did some discussion on URI resolution and how to get us to a single evolvable API by M4. I think Jim deRiviers (who joined the SSE team for lunch) would have been proud. Anyway, lots of work to do on it but I think we all know what needs doing.
The last session that I would attend would be Tim Wagner’s on enhancing language support in Eclipse. This was basically about the LDT project’s creation and the research work that BEA did as part of WebLogic Workbench. Honestly, there’s a lot of what the LDT aims to accomplish already in SSE, except we don’t offer a full-fledged AST per-se. A post in the newsgroup earlier today even asked the question about whether the SSE framework had even been looked at, yet. Although not satisfying, I took enough notes to keep me busy for a while.
Afterwards it was off to see the city. After taking the shuttle to the airport and the BART subway system to the city, we walked around while waiting for our comrades to join us. This meant traversing the city on foot and my right knee has yet to forgive me. I got some nice pictures of the cable cars, though. We had some really good Thai food for dinner and it will forever be remembered for me spilling my drink, not once, but twice, on Amy. At one point John Arthorne confiscated my glass. Michael, who had jokingly guessed I was 38 years old on a previous outing, got a taste of his own medicine when Billy guess that he was 38 as well.
At this point we trudged out into the pouring rain in search of the Metroen, a.k.a. Sony’s sovereign territory on U.S. soil. A little underwhelming, we didn’t see much of it before I dragged Randy back to the hotel to catch our red-eye flights back home. Billy, Randy, and I did bust out some DDR, though. I suspect someone took pictures for future blackmail. And it’s apparent that my camera battery needs replacing.
Posted in Development | 2 Comments »